リクエスト Cookie とレスポンス Cookie が異なるかどうかを検出するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/2469168

質問

リクエスト 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 本当にあなたによって。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top