Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Урок 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
Content-type: text/html
Set-Cookie: name=value
Set-Cookie: name2=value2; Expires=Wed, 09-Jun-2021 10: 18: 14 GMT

Браузер (если не истекло время действия кукиса) при каждом запросе:

GET /spec.html HTTP/1.1
Host: www.example.org
Cookie: name=value; name2=value2
Accept: */*

 

Устанавливаем 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/






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.