Как я могу определить, отличаются ли куки-файлы запроса и ответа?

Мне нужно определить, отличается ли значение cookie запроса от значения cookie ответа.

Это не так просто, как:

if(cookiesArePresent)
{
    bool isDifferent = HttpContext.Current.Response.Cookies[".ASPXANONYMOUS"].value == HttpContext.Current.Response.Cookies[".ASPXANONYMOUS"].value;
}

Но я читал, что изменение Response.Cookies изменяет Request.Cookies. Это будет означать, что они всегда одинаковы, если HttpContext.Current.Response.Cookies[".ASPXANONYMOUS"] был изменен. Есть ли простой способ обойти это?

http://chance.lindseydev.com/2009/04/aspnet-httprequestcookies-and.html

1 ответ

Решение

Если вы используете Reflector для проверки System.Web.Security.AnonymousIdentificationModule, вы можете увидеть, что анонимный файл cookie только для чтения / записи только в PostAuthenticateRequest.

Итак, если вы подозреваете, что что-то не так, напишите простой HttpModule, который читает cookie во время AuthenticateRequest, и сравните его со значением, полученным в AuthorizeRequest.

Для получения дополнительной информации о жизненном цикле запроса см. Истинное изучение Web.config - system.web / httpModules.

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