Во время работы с аутентификацией ASP.Net Forms я столкнулся с файлом .ASPXAUTH. У меня есть пара вопросов:
- Какова цель этого файла cookie?
- Каково местоположение этого файла cookie?
Во время работы с аутентификацией ASP.Net Forms я столкнулся с файлом .ASPXAUTH. У меня есть пара вопросов:
Файл cookie ASPXAUTH используется для определения подлинности пользователя.
Что касается местоположения файла cookie, это зависит от вашего браузера. Если вы используете Firefox, вы можете просмотреть файл cookie, нажав на Tools → Options → Privacy. Затем прокрутите вниз до домена и разверните его, чтобы просмотреть файл 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 удаляется из браузера. Однако, если вы вернетесь на сайт в течение короткого периода времени (с тайм-аутом формы auth cookie) и отредактируете новый файл cookie ASP.NET_SessionId со следующим:
После обновления вы сможете принять личность аутентифицированного пользователя без повторной проверки подлинности повторно. (опять же, предположив, что вы делаете это в пределах заданного таймаута, хранящегося в зашифрованной строке аутентификации .ASPXAUTH)
Хорошее сообщение blog объясняет проблему более подробно. Возможное решение - связать .ASPXAUTH с сеансом ASP.
Если пользователь взаимодействует с URL-адресом входа в HTML, он позволяет TSWPPserver установить идентификатор пользователя, удаленный сервер ДОЛЖЕН сгенерировать куки файл, который идентифицирует пользователя и позволяет аутентификацию на сервере. Содержимое файла cookie ДОЛЖНО быть подписано и зашифровано. Конкретная реализация этого файла cookie, включая алгоритмы подписи и шифрования, зависит от реализации сервера TSWPP, поскольку для анализа содержимого файла cookie требуется только сервер. Если сервер реализует куки файл, cookie ДОЛЖЕН быть возвращен в полезной нагрузке HTTP с типом Content-Type "application/x-msts-webfeed-login".