Что такое ASPXAUTH cookie?

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

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

4 ответа

Решение

Файл cookie ASPXAUTH используется для определения того, прошел ли пользователь аутентификацию.

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

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

где authTicket имеет эти поля:

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

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

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

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

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

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

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

в браузере Chrome 1. инструменты разработчика -F122. найдите вкладку «Приложение» 3. укажите левую панель для файлов cookie, вы узнаете, есть ли файл cookie ASPXAUTH для доступного сеанса в приложении, вошедшем в систему.

Другие вопросы по тегам