/ / problem w asp.net dotyczący sprawdzania poprawności sesji i przekierowywania - asp.net, firefox

problem w asp.net na sprawdzanie poprawności sesji i przekierowania - asp.net, firefox

Używam „FormsAuthentication” w Asp.sieć zakodowana w C # .net w celu weryfikacji użytkowników, Utrzymuję nazwę użytkownika w sesjach do przetworzenia, problem polega na tym, że kiedy kopiuję adres URL i wklejam w przeglądarce Firefox, nie jest to przekierowanie do strony logowania, Ale działa dobrze w przypadku przeglądarki IE. Sprawdzam wartości sesji i przekierowuję do logowania, gdy nie jest uwierzytelniony, działa tylko dla IE. Potrzebuję przeglądarki Firefox. Czy ktoś może zasugerować mi jakąś metodę.

Odpowiedzi:

0 dla odpowiedzi № 1

Jeśli używasz uwierzytelniania formularzy, polecamaby nie łączyć się z sesją. Ta kombinacja dawała nam wiele bólu w przeszłości. Podczas korzystania z FormsAuthentication możesz wywołać Membership.GetUser (), który zwróci Ci obiekt MembershipUser aktualnie zalogowanego użytkownika, a jeśli użytkownik nie jest zalogowany, zwróci wartość null.

Możesz więc powiązać wokół tego logikę przekierowań i sprawdzić, czy użytkownik jest zalogowany, czy nie. Tak, możesz zachować Nazwę użytkownika w sesji w innym celu.


0 dla odpowiedzi nr 2

czy używasz: if (User.Identity.IsAuthenticated)

nie musisz go przechowywać w sesji. możesz uzyskać dostęp do obiektu użytkownika :)

i czy korzystałeś z FormsAuthentication.RedirectFromLoginPage () i / lub

if (!User.Identity.IsAuthenticated)
FormsAuthentication.RedirectToLoginPage()

jeśli używasz kontrolki logowania, czy masz coś w kodzie takim jak ten na kliknięciu asp: kontrola logowania:

if (FormsAuthentication.Authenticate(username.Text, password.Text))
FormsAuthentication.RedirectFromLoginPage(username.Text, true);

i coś takiego w web.config:

<configuration>
<system.web>
<authentication mode="Forms">
<forms loginUrl="login.aspx" protection="All" timeout="30">
<credentials passwordFormat="Clear">
<user name="devhood" password="password"/>
<user name="someguy" password="password"/>
</credentials>
</forms>
</authentication>
</system.web>
</configuration>