1

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

4

1 回答 1

1

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

因此,如果您怀疑某些东西有问题,请编写一个简单的 HttpModule,它在 AuthenticateRequest 期间读取 cookie,并将其与您在 AuthorizeRequest 中获得的值进行比较。

有关请求生命周期的更多信息,请参阅真正的探索 Web.config - system.web/httpModules

于 2010-03-20T00:07:01.690 回答