To powinno odpowiedzieć na to pytanie ...
„Formularze bilet uwierzytelnianie obejmuje nie tylko tożsamość użytkownika, ale zawiera również informacje, które pomogą zapewnić integralność i bezpieczeństwo token. " Zaczerpnięty z poniższego artykułu: Microsoft
http://www.asp.net/security/tutorials/forms-authentication-configuration-and-advanced-topics-vb
Poza tym wyjaśnieniem, obserwując zachowanie ASP.NET obsługuje również do wniosku, że nazwa jest w rzeczywistości, przechowywane w ciasteczkach ASPXAUTH: ASP.NET nie trafi do bazy danych na kolejnych żądaniach strony po uwierzytelnieniu użytkownika. Możesz to udowodnić samodzielnie, tak jak ja, uruchamiając program SQL Profiler w celu monitorowania bazy danych, ponieważ jest ona używana przez aplikację ASP.NET.
Należy również pamiętać, że dane nazwy użytkownika i biletu uwierzytelniającego NIE są przechowywane w stanie sesji. Oprócz podniesienia kwestii bezpieczeństwa, ten rodzaj implementacji spowodowałby złamanie członkostwa ASP.NET po wyłączeniu stanu sesji. Oto kolejna odpowiedź przepełnienie stosu wskazuje, że Forms Authentication (członkostwo) i dane państwo Sesja nie mają nic wspólnego ze sobą:
Does FormsAuthentication.SetAuthCookie() make a session based cookie?
tę odpowiedź również linki do artykułu MSDN here, który wyjaśnia cookie ASPXAUTH w szczegółach, chociaż artykuł, o którym wspomniałem powyżej, wydaje się bardziej aktualny.
Rozumiem, że pochodzi z uwierzytelniania. Jednak, gdy wywołuję User.Identity.Name - skąd jest pobierana wartość? Pliki cookie lub db lub sesja? – niaher
Pliki cookie istnieją tylko po uwierzytelnieniu ... więc ... wszystko zależy od twojego schematu uwierzytelniania. – Nix