Wartość ustawiana w timeout
atrybucie jest jednym z poprawnych sposobów ustawiania wartości limitu czasu sesji.
W timeout
Określa atrybut liczba minut sesja może być bezczynny, zanim zostanie porzucona. Domyślna wartość tego atrybutu to 20.
Przypisując wartość 1 do tego atrybutu, ustawiłeś sesję tak, aby została porzucona w 1 minutę po jej bezczynności.
Aby to przetestować, utwórz prostą stronę aspx i napisz ten kod w zdarzeniu Page_Load,
Response.Write(Session.SessionID);
Otwórz przeglądarkę i przejdź do tej strony. Zostanie wydrukowany identyfikator sesji. Poczekaj minutę, a następnie naciśnij przycisk odświeżania. Identyfikator sesji ulegnie zmianie.
Teraz, jeśli moje przypuszczenie jest poprawne, chcesz, aby użytkownicy wylogowali się, gdy tylko sesja wygaśnie. Aby to zrobić, możesz skonfigurować stronę logowania, która zweryfikuje poświadczenia użytkownika i utworzy zmienną sesji, taką jak ta -
Session["UserId"] = 1;
Teraz będziesz musiał sprawdzić na każdej stronie tę zmienną w ten sposób -
if(Session["UserId"] == null)
Response.Redirect("login.aspx");
To jest prosty przykład tego, jak to działa.
Aby jednak tworzyć bezpieczne aplikacje o jakości produkcyjnej, użyj klas ról i członkostwa dostarczonych przez ASP.NET. Zapewniają uwierzytelnianie oparte na formularzach, które jest znacznie bardziej niezawodne niż normalne uwierzytelnianie oparte na sesji, którego próbujesz użyć.