Il valore che stai impostando timeout
nell'attributo è uno dei modi corretti per impostare il valore di timeout della sessione.
L' timeout
attributo specifica il numero di minuti in cui una sessione può essere inattiva prima di essere abbandonata. Il valore predefinito per questo attributo è 20.
Assegnando un valore di 1 a questo attributo, hai impostato la sessione da abbandonare in 1 minuto dopo il suo inattività.
Per verificarlo, crea una semplice pagina aspx e scrivi questo codice nell'evento Page_Load,
Response.Write(Session.SessionID);
Apri un browser e vai a questa pagina. Verrà stampato un ID di sessione. Aspetta che passi un minuto, quindi premi Aggiorna. L'ID sessione cambierà.
Ora, se la mia ipotesi è corretta, vuoi fare in modo che i tuoi utenti si disconnettano non appena la sessione scade. Per fare ciò, puoi creare una pagina di accesso che verificherà le credenziali dell'utente e creerà una variabile di sessione come questa:
Session["UserId"] = 1;
Ora, dovrai eseguire un controllo su ogni pagina per questa variabile come questa -
if(Session["UserId"] == null)
Response.Redirect("login.aspx");
Questo è un esempio spoglio di come funzionerà.
Ma, per rendere sicure le tue app di qualità di produzione, usa le classi Ruoli e Iscrizione fornite da ASP.NET. Forniscono un'autenticazione basata su moduli che è molto più affidabile della normale autenticazione basata su sessione che si sta tentando di utilizzare.