Po sprawdzeniu poświadczeń użytkownika i potwierdzeniu, że są one dobre, używam FormsAuthentication.SetAuthCookie("Username", false);
do uwierzytelnienia użytkownika.Czy FormsAuthentication.SetAuthCookie() wymaga przekierowania?
Na stronie głównej używam następnie Page.User.Identity.IsAuthenticated
, aby upewnić się, że mamy do czynienia z zalogowanym użytkownikiem, a nie gościem.
Problem polega na pierwszym ustawieniu pliku cookie auth. Kiedy ustawiam ciasteczko uwierzytelniające, natychmiast potem uruchamiam metodę, która używa Page.User.Identity.IsAuthenticated
, aby zmienić wiadomość powitalną od ogólnej "Witamy, gość!" wiadomość do bardziej osobistego "Witamy, nazwa użytkownika!" wiadomość. To nie działa, dopóki nie przejdę na inną stronę, więc wiem, że proces logowania zadziałał, ale wygląda na to, że nie mam dostępu do potrzebnych informacji, dopóki nie nastąpi odświeżenie lub przekierowanie.
Czy muszę przekierować użytkownika po ustawieniu pliku cookie autoryzacji, aby zmienić numer wiadomości, używając Page.User.Identity.IsAuthenticated
?
Ach, to rzeczywiście wydaje się być w przypadku wtedy, dzięki za odpowiedź! Myślę, że mógłbym po prostu przekierować użytkownika po jego autoryzacji, a wtedy nie musiałbym zawracać sobie głowy pisaniem obejścia, by wypełnić wiadomość powitalną za pierwszym razem. –
@SgtBeardy: Tak, przekierowanie brzmi jak wystarczająco dobre rozwiązanie dla mnie – musefan