Como posso detectar se um cookies de solicitação e resposta é diferente?
-
20-09-2019 - |
Pergunta
Preciso detectar se um cookie de solicitação - o valor é diferente de um cookie de resposta - valor.
Não é tão fácil quanto:
if(cookiesArePresent)
{
bool isDifferent = HttpContext.Current.Response.Cookies[".ASPXANONYMOUS"].value == HttpContext.Current.Response.Cookies[".ASPXANONYMOUS"].value;
}
Mas li que alterar a resposta.cookies altera o request.cookies. Isso significaria que eles são sempre os mesmos se httpcontext.current.Response.cookies [". Aspxanonymous"] fosse alterado. Existe uma maneira fácil de contornar isso?
http://chance.lindseydev.com/2009/04/aspnet-httprequestcookies-and.html
Solução
Se você usa o refletor para examinar o sistema.Web.Security.AnonymousIdentificationModule, poderá ver que o cookie anônimo é lido/escrito apenas no PostAuthenticaterequest.
Portanto, se você suspeitar que algo é instável, escreva um httpmodule simples que lê o cookie durante o autenticaterequest e compare -o com o valor que você obtém no Autorizerequest.
Para obter mais informações sobre o ciclo de vida da solicitação, consulte Explorando web.config - System.web/httpmodules pelo seu verdadeiramente.