Come faccio a rilevare se un cookie di richiesta e risposta sono diversi?
-
20-09-2019 - |
Domanda
Ho bisogno di rilevare se un cookie richiesta - il valore è diverso da un cookie di risposta -. Valore
La sua non è così facile come:
if(cookiesArePresent)
{
bool isDifferent = HttpContext.Current.Response.Cookies[".ASPXANONYMOUS"].value == HttpContext.Current.Response.Cookies[".ASPXANONYMOUS"].value;
}
Ma ho letto che cambiando le Response.Cookies cambia i Request.Cookies. Ciò significa che sono sempre gli stessi, se HttpContext.Current.Response.Cookies [ "ASPXANONYMOUS"] è stato cambiato. C'è un modo semplice per aggirare questo?
http://chance.lindseydev.com/2009/04 /aspnet-httprequestcookies-and.html
Soluzione
Se si utilizza Reflector per examing System.Web.Security.AnonymousIdentificationModule, si può vedere che il cookie anonimo è solo letto / scritto in PostAuthenticateRequest.
Quindi, se si sospetta che qualcosa è wonky, scrivere una semplice HttpModule che legge il cookie durante AuthenticateRequest e confrontarlo con il valore che si ottiene in AuthorizeRequest.
Per ulteriori informazioni sulla richiesta di ciclo di vita vedi Exploring web.config -. system.web / httpModules dal sottoscritto