私は独自の認証システム(https://bitbucket.org/anton_gogolev/octalforty-structural)を持っており、標準のASP.NETのものを使用していません(<authentication mode="None" />)。
プレーンIHttpModulesを使用してその仕事をします:BeginRequest着信Cookieとセットを検査HttpContext.Current.UserしThread.CurrentPrincipal、認証が成功すると
Thread.CurrentPrincipal = HttpContext.Current.User =
new GenericPrincipal(tokenIdentity,new string[] { });
一方EndRequest、認証されたユーザーに必要なすべてのCookieを発行します。
これは数か月間正常に機能していますが、一部のシステムでは(実際に機能するシステムとどのように異なるのかわかりません)、ASP.NETはの値を失い、HttpContext.Current.Userデフォルト値に置き換えているようです(に設定してGenericPrincipal集約GenericIdentityするなど)。IsAuthenticatedfalse
だから問題は、どうやってそしてなぜHttpContext.Current.User迷子になっているのかということです。