如何检测请求和响应cookie是否不同?

时间:2010-03-18 10:52:57

标签: asp.net-mvc cookies anonymousidentification

我需要检测请求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

1 个答案:

答案 0 :(得分:1)

如果使用Reflector检查System.Web.Security.AnonymousIdentificationModule,您可以看到匿名cookie只能在PostAuthenticateRequest中读/写。

所以,如果你怀疑某些东西是不稳定的,那就写一个简单的HttpModule,它在AuthenticateRequest期间读取cookie并将它与你在AuthorizeRequest中获得的值进行比较。

有关请求生命周期的详细信息,请参阅您的Exploring Web.config - system.web/httpModules