我需要检测请求cookie - 值是否与响应cookie值不同。
它不像以下那么容易:
if(cookiesArePresent)
{
bool isDifferent = HttpContext.Current.Response.Cookies[".ASPXANONYMOUS"].value == HttpContext.Current.Response.Cookies[".ASPXANONYMOUS"].value;
}
但我读到更改Response.Cookies会更改Request.Cookies。这意味着如果更改了HttpContext.Current.Response.Cookies [“。ASPXANONYMOUS”],它们将始终相同。有一个简单的方法吗?
http://chance.lindseydev.com/2009/04/aspnet-httprequestcookies-and.html
答案 0 :(得分:1)
如果使用Reflector检查System.Web.Security.AnonymousIdentificationModule,您可以看到匿名cookie只能在PostAuthenticateRequest中读/写。
所以,如果你怀疑某些东西是不稳定的,那就写一个简单的HttpModule,它在AuthenticateRequest期间读取cookie并将它与你在AuthorizeRequest中获得的值进行比较。
有关请求生命周期的详细信息,请参阅您的Exploring Web.config - system.web/httpModules。