что такое ASPXAUTH cookie? - PullRequest
       17

что такое ASPXAUTH cookie?

70 голосов
/ 08 января 2009

При работе с аутентификацией ASP.Net Forms я наткнулся на файл cookie .ASPXAUTH У меня есть пара вопросов:

  • Какова цель этого куки?
  • Где находится этот файл cookie?

Ответы [ 3 ]

78 голосов
/ 08 января 2009

Файл cookie ASPXAUTH используется для определения подлинности пользователя.

Что касается местоположения файла cookie, это зависит от вашего браузера. Если вы используете Firefox, вы можете просмотреть куки, нажав Сервис -> Параметры -> Конфиденциальность. Затем прокрутите вниз до домена и разверните его, чтобы увидеть файл cookie и его значение. Значение зашифровано с использованием ключа машины (находится в файле machine.config или web.config сервера), поэтому просмотр файла cookie на клиенте не даст вам никакой информации. Вы можете расшифровать / просмотреть значение на стороне сервера, используя:

HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];//.ASPXAUTH
FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);

где authTicket имеет следующие поля:

enter image description here

Неверное выражение «ASPXAUTH используется для поддержки состояния сеанса ASP.NET». ASP.NET выдает совершенно другой файл cookie с именем ASP.NET_SessionId для отслеживания состояния сеанса.

8 голосов
/ 03 октября 2010

На самом деле файл cookie .ASPXAUTH точно не сообщает вам, когда пользователь действительно аутентифицирован. Когда пользователь выходит из приложения, файл cookie .ASPXAUTH удаляется из браузера. Тем не менее, если вы вернетесь на сайт в течение короткого периода времени (по истечении времени ожидания файла cookie для проверки подлинности формы) и отредактируете новый файл cookie ASP.NET_SessionId со следующим:

  • изменить поле "имя" с "ASP.NET_SessionId" на ".ASPXAUTH"
  • изменить "значение" с идентификатора сеанса с 24 символами на старую строку аутентификации с 448 символами

После обновления вы сможете подтвердить подлинность аутентифицированного пользователя без технической повторной аутентификации. (снова при условии, что вы делаете это в течение заданного времени ожидания, хранящегося в зашифрованной строке аутентификации .ASPXAUTH)

Хороший пост blog объясняет проблему более подробно. Возможное решение - соединить .ASPXAUTH с сеансом ASP.

0 голосов
/ 24 сентября 2013

Если взаимодействие пользователя с URL-адресом для входа в HTML позволило TSWPPserver установить личность пользователя, удаленному серверу СЛЕДУЕТ создать файл cookie, который идентифицирует пользователя и разрешает аутентификацию на сервере. Содержимое куки ДОЛЖНО быть подписано и зашифровано. Конкретная реализация этого файла cookie, включая алгоритмы подписи и шифрования, зависит от реализации сервера TSWPP, поскольку для анализа содержимого файла cookie требуется только сервер. Если сервер реализует файл cookie, тогда файл cookie ДОЛЖЕН быть возвращен в виде полезной нагрузки HTTP с типом содержимого «application / x-msts-webfeed-login».

http://msdn.microsoft.com/en-us/library/ee920427.aspx

...