Comment puis-je détecter si un cookie de requête et de réponse sont différents?
-
20-09-2019 - |
Question
Je dois détecter si un cookie de demande - valeur est différente d'un cookie de réponse -. Valeur
Son pas aussi facile que:
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 signifie qu'ils sont toujours les mêmes si HttpContext.Current.Response.Cookies [ «ASPXANONYMOUS »] a été changé. Est-il un moyen facile de contourner cela?
http://chance.lindseydev.com/2009/04 /aspnet-httprequestcookies-and.html
La solution
Si vous utilisez réflecteur à examing System.Web.Security.AnonymousIdentificationModule, vous pouvez voir que le cookie anonyme est en lecture / écrit en PostAuthenticateRequest seulement.
Donc, si vous pensez que quelque chose est bancal, écrire simple HttpModule qui lit le cookie pendant AuthenticateRequest et le comparer à la valeur que vous obtenez dans AuthorizeRequest.
Pour plus d'informations sur le cycle de vie de la demande voir Explorer Web.config -. system.web / httpModules par votre serviteur