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

Мне нужно определить, отличается ли значение 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 Ответ

1 голос
/ 20 марта 2010

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

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

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

...