Jak ustawić limit czasu sesji w sieci.config

Próbowałem bardzo mocno, ale nie mogę znaleźć rozwiązania, jak ustawić wartość timeout sesji dla sesji in-process dla ASP.Net aplikacja internetowa.

Używam VSTS 2008+. Net 3.5 + C#. Oto, co napisałem sam, aby ustawić timeout na 1 minutę, czy to prawda?

Napisałem pod system.sekcja internetowa w web.config

<sessionState timeout="1" mode="InProc" />
Author: Vasil Lukach, 2009-07-30

3 answers

Jeśli chcesz ustawić timeout na 20 minut, użyj czegoś takiego:

<configuration>
  <system.web>
     <sessionState timeout="20"></sessionState>
  </system.web>
</configuration>

Should see you right

 281
Author: Wolfwyrd,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-27 01:02:26

Wartość, którą ustawiasz w atrybucie timeout jest jednym z prawidłowych sposobów ustawiania wartości limitu czasu sesji.

Atrybut timeout określa liczbę minut, przez które sesja może być bezczynna, zanim zostanie przerwana. Domyślną wartością tego atrybutu jest 20.

Przypisując temu atrybutowi wartość 1, ustawiasz sesję jako opuszczoną w ciągu 1 minuty po jej bezczynności.

Aby to przetestować, Utwórz prostą stronę aspx i wpisz ten kod w Page_Load event,

Response.Write(Session.SessionID);

Otwórz przeglądarkę i przejdź do tej strony. Identyfikator sesji zostanie wydrukowany. Poczekaj minutę, aby przejść, a następnie naciśnij Odśwież. Identyfikator sesji ulegnie zmianie.

Teraz, jeśli moje przypuszczenie jest poprawne, chcesz, aby Twoi użytkownicy wylogowali się tak szybko, jak czas sesji się skończy. W tym celu 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 dla tej zmiennej w ten sposób -

if(Session["UserId"] == null)
    Response.Redirect("login.aspx");

Oto przykład, jak to będzie działać.

Ale, aby zapewnić bezpieczeństwo jakości produkcji, użyj ról i Członkostwa klas dostarczonych przez ASP.NET. zapewniają uwierzytelnianie oparte na formularzach, które jest o wiele bardziej niezawodne niż zwykłe uwierzytelnianie oparte na sesji, którego próbujesz użyć.

 45
Author: Kirtan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-07-30 11:03:41

Użyj tego w web.config:

<sessionState 

  timeout="20" 
/>
 0
Author: Balaji Birajdar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-09 06:53:56