2010-03-18 7 views
1

Je dois détecter si une valeur de cookie de requête est différente d'une valeur de cookie de réponse.Comment puis-je détecter si les cookies de demande et de réponse sont différents?

Son pas aussi facile:

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

Mais je lis que la modification des Response.Cookies change les Request.Cookies. Cela signifierait qu'ils sont toujours les mêmes si HttpContext.Current.Response.Cookies [". ASPXANONYMOUS"] a été modifié. Y a-t-il un moyen facile de contourner cela?

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

Répondre

1

Si vous utilisez réflecteur examing System.Web.Security.AnonymousIdentificationModule, vous pouvez voir que le cookie anonyme est en lecture seule/écrit en PostAuthenticateRequest. Donc, si vous pensez que quelque chose est bancal, écrivez un simple HttpModule qui lit le cookie pendant AuthenticateRequest et comparez-le à la valeur que vous obtenez dans AuthorizeRequest.

Pour plus d'informations sur le cycle de vie de la demande, voir le Exploring Web.config - system.web/httpModules par le vôtre.

Questions connexes