Mam mój własny system uwierzytelniania (https://bitbucket.org/anton_gogolev/octalforty-structural), który nie używa żadnego ze standardowych elementów ASP.NET (<authentication mode="None" />
).Całkowicie niestandardowe uwierzytelnianie w ASP.NET MVC: utrata HttpContext.User
Wykorzystuje zwykły IHttpModule
s, aby wykonywać swoje zadania: BeginRequest
sprawdza przychodzące ciasteczka i ustawia HttpContext.Current.User
i Thread.CurrentPrincipal
po pomyślnym uwierzytelnieniu
Thread.CurrentPrincipal = HttpContext.Current.User =
new GenericPrincipal(tokenIdentity,new string[] { });
natomiast EndRequest
wystawianiu wszystkie wymagane pliki cookie dla uwierzytelnionego użytkownika.
Zostało to działa dobrze przez kilka miesięcy teraz, ale na niektórych systemach (a ja naprawdę nie można powiedzieć, w jaki sposób są one różne od tych, to faktycznie działa na ) ASP.NET zdaje się tracić wartość HttpContext.Current.User
, zastępując go z dowolnymi wartościami domyślnymi (GenericPrincipal
agregacja z IsAuthenticated
ustawiona na false
itd.).
Pytanie brzmi: jak i dlaczego HttpContext.Current.User
się gubi?
Mam ten sam problem. Jakieś rozwiązanie? –
Więcej szczegółów na temat objawów? Czy zdarza się to jednemu użytkownikowi lub wielu? Czy w systemach, których dotyczy ten problem, użytkownik traci za każdym razem lub tylko przez pewien czas, a jeśli tak, to w jakim czasie? –