![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Урок 6. Авторизация.
Цель урока: Изучить способ авторизации через Cookie, использование стандартных атрибутов доступа к контроллеру и методу контроллера. Использование IPrincipal. Создание собственного модуля (IHttpModule) и собственного фильтра IActionFilter.
Небольшое отступление: На самом деле в asp.net mvc все учебники рекомендуют пользоваться уже придуманной системой авторизации, которая называется AspNetMembershipProvider, она была описана в статье https://habrahabr.ru/post/142711/, но обьяснено это с точки зрения «нажимай и не понимай, что там внутри». При первом знакомстве с asp.net mvc меня это смутило. Далее, в этой статье https://habrahabr.ru/post/143024/ - сказано, что пользоваться этим провайдером – нельзя. Здесь же, мы достаточно глубоко изучаем всякие хитрые asp.net mvc стандартные приемы, так что это один из основных уроков. Кукисы Кукисы – это часть информации, отсылаемая сервером браузеру, которую браузер возвращает обратно серверу вместе с каждым (почти каждым) запросом. Сервер в заголовок ответа пишет: Set-Cookie: value[; expires=date][; domain=domain][; path=path][; secure] Например: HTTP/1.1 200 OK Браузер (если не истекло время действия кукиса) при каждом запросе: GET /spec.html HTTP/1.1
Устанавливаем cookie: public ActionResult Index() { var cookie = new HttpCookie() { Name =" test_cookie", Value = DateTime.Now.ToString(" dd.MM.yyyy"), Expires = DateTime.Now.AddMinutes(10), }; Response.SetCookie(cookie); return View(); } В Chrome проверяем установку: Для получения кукисов: var cookie = Request.Cookies[" test_cookie" ]; Делаем точку остановки и проверяем: Примечание: подробнее можно изучить кукисы по следующим ссылкам: https://www.nczonline.net/blog/2009/05/05/http-cookies-explained/
|