2009-07-31 10 views
10

Powiel możliwe:
asp.net membership IsApproved false but still allowing loginw ASP.NET, co odróżnia Request.IsAuthenticated = true

Mam rejestr użytkownika, ale IsApproved jest fałszywe, ale gdy sprawdzam go Request.IsAuthenticated nadal zwraca true.

Czy wiesz, jak to się może stać?

+0

http://stackoverflow.com/questions/1212503/asp-net-membership-isapproved-false-but-still-allowing-login –

+0

Poprosiłem OP o skasowanie jego drugiego pytania, ponieważ ten zakończył się oznaczony odpowiedzią. –

Odpowiedz

18

HttpRequest.IsAuthenticated zwraca wartość true, jeśli HttpContext.User.Identity nie jest pusta, a właściwość IsAuthenticated zwraca wartość true.

Bieżąca tożsamość jest ustawiona w FormsAuthenticationModule, ale nie ma to nic wspólnego z Państwa Członkiem. W rzeczywistości nawet o tym nie wspomina. Wszystko, co robi, to sprawdzenie, czy plik cookie uwierzytelniający jest nadal ustawiony i nadal jest ważny (tak jak jest, nie wygasł).

Myślę, że problem polega na tym, że wywołujesz jedną z metod , takich jak RedirectFromLoginPage, która jest ustawieniem pliku cookie uwierzytelniania. Jeśli musisz poczekać, aż użytkownik zostanie zatwierdzony, musisz upewnić się, że nie konfigurujesz pliku cookie.

+0

dzięki. . Właśnie zdałem sobie sprawę, że wywołanie formularza było w kodzie po tym, jak sukces członkostwa był prawdziwy. – leora

+0

Proszę usunąć swoje drugie pytanie - http://stackoverflow.com/questions/1212503/asp-net-membership-isapproved-false-but-still-allow -login/1212868 # 1212868 –

Powiązane problemy