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

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top