Dzięki Google znalazłem buforowaną wersję post @keyboardP, o której mowa w his answer. Zamieszczam tę odpowiedź/wpis tutaj jako odniesienie dla innych, ponieważ pierwotny link jest uszkodzony (2012-12-06).
Original question że odpowiedź poniżej odnosi się do:
mam formularzy zgłoszeniowych w oparciu o który daje mi pasuje. Zauważyłem, że w lokalizacji miejsce, w którym właściwość IsAuthenticated była True, było teraz fałszywe i nie działało zgodnie z oczekiwaniami. Zastanawiam się, czy mam ustawienie , które jest nieprawidłowe?
Czy ktoś może mi powiedzieć, co ustawia właściwość IsAuthenticated True - co constitues zalogowaniem
Odbierz Daniel Kent.
Request.IsAuthenticated
nie tylko dla formy authentciation - to ważny bez względu na to, jaki rodzaj uwierzytelniania jest używany (Windows, Passport, Formularze lub nasz własny system niestandardowy)
będzie prawdziwy, gdy użycie r sprawdzenie autentyczności żądania . Zasadniczo ta właściwość zapewnia tę samą informację o nazwie jako Context.User.Identity.IsAuthenticated
. Na początku żądania Context.User.Idenity
zawiera GenericIdentity
z pustą nazwą użytkownika.Właściwość IsAuthenticated
dla tego obiektu będzie wracać false
, więc Request.IsAuthenticated
będzie false
. Gdy moduł uwierzytelniania obsługuje zdarzenie Application_AuthenticateRequest
i successfuly uwierzytelnia użytkownika to zastępuje GenericIdentity
w Context.User.Identity
z nowym IIdentity
obiektu, który powróci true
z jego IsAuthenticated
nieruchomości. Request.IsAuthenticated
następnie zwróci true
.
W przypadku uwierzytelniania za pomocą formularzy moduł uwierzytelniania formularzy wykorzystuje zaszyfrowany bilet uwierzytelniający zawarty w pliku cookie uwierzytelniającym w celu uwierzytelnienia użytkownika. Gdy to zrobi, zastępuje obiekt w celu uzyskania obiektu o tej samej wartości.
więc ustawienie IsAuthenticated
do true
jest rzeczywiście różni się zalogujesz. Jak mówi Jeff, logując się do uwierzytelniania formularzy dzieje, gdy bilet uwierzytelnienia są generowane i wysyłane do klienta w postaci ciastka. (RedirectFromLoginPage
lub SetAuthCookie
) To, o czym rozmawiamy z IsAuthenticated
jest uwierzytelnianie, które dzieje się z każdym żądaniem strony. Logowanie odbywa się, gdy użytkownik wprowadzi swoje poświadczenia i otrzyma bilet o wartości , uwierzytelnianie odbywa się przy każdym żądaniu.
tutaj jest link do buforowanej odpowiedzi Google: https://webcache.googleusercontent.com/search?q=cache:t4JNfp8peQIJ:https://forums.asp.net/t/1416811.aspx%3FQuestion%2Babout%2Bmethods% 2Bto% 2Bdetect% 2Bif% 2Ba% 2Buser% 2Bis% 2Blogged% 2Bin – tylerlindell