Как я могу определить, отличаются ли файлы cookie запроса и ответа?
-
20-09-2019 - |
Вопрос
Мне нужно определить, отличается ли значение cookie-файла запроса от значения cookie-файла ответа.
Это не так просто, как:
if(cookiesArePresent)
{
bool isDifferent = HttpContext.Current.Response.Cookies[".ASPXANONYMOUS"].value == HttpContext.Current.Response.Cookies[".ASPXANONYMOUS"].value;
}
Но я читал, что это меняет ответ.Файлы cookie изменяют запрос.Файлы cookie.Это означало бы, что они всегда одинаковы, если был изменен HttpContext.Current.Ответ.Файлы cookie [".ASPXANONYMOUS"].Есть ли простой способ обойти это?
http://chance.lindseydev.com/2009/04/aspnet-httprequestcookies-and.html
Решение
Если вы используете Reflector для проверки System.Web.Security.Модуль анонимной идентификации, вы можете увидеть, что анонимный файл cookie считывается / записывается только в PostAuthenticateRequest.
Итак, если вы подозреваете, что что-то не так, напишите простой HttpModule, который считывает cookie во время AuthenticateRequest и сравнивает его со значением, которое вы получаете в AuthorizeRequest.
Для получения дополнительной информации о жизненном цикле запроса см. Изучение Web.config - system.web/HttpModules искренне ваш.