リクエスト Cookie とレスポンス Cookie が異なるかどうかを検出するにはどうすればよいですか?
-
20-09-2019 - |
質問
リクエスト 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
解決
Reflector を使用して System.Web.Security.AnonymousIdentificationModule を調べると、匿名 Cookie は PostAuthenticateRequest でのみ読み書きされることがわかります。
したがって、何かがおかしいと思われる場合は、AuthenticateRequest 中に Cookie を読み取り、それを AuthorizeRequest で取得した値と比較する単純な HttpModule を作成します。
リクエストのライフサイクルの詳細については、を参照してください。 Web.config の探索 - system.web/httpModules 本当にあなたによって。
所属していません StackOverflow