23 messaggi dal 10 maggio 2004
 Vorrei gestire il logout in modo che non sia possibile con il browser tornare indietro. Come posso fare???
Grazzzzzzzie mille
Il logout serve per chiudere la sessione utente. Quindi se lo stato dell'utente connesso viene gestito nell'oggetto Session, all'atto del logout viene eseguita l'istruzione Session.Abandon, che di fatto resetta tutte le variabili di sessione.

Se all'inizio di ogni pagina viene inserito un controllo su una variabile di sessione che indica se è stato effettuato il login, una volta resettato l'oggetto Session, non sarà più possibile accedere alle pagine se non dopo essersi nuovamente logati.

All'atto del login (login.asp) si imposta una variabile di stato in sessione che indica che è stato effettuato il login:

<%
validpwd = true

If request.form("submit") <> "" Then

userid = Request.Form("userid")
passwd = Request.Form("passwd")
If ((ucase("pippo") = ucase(userid)) and (ucase("password") = ucase(passwd))) Then

<b>' Setto la variabile di sessione
' UTENTE LOGATO
Session("status") = "login"</b>

response.redirect "home.asp"
Else
validpwd = false
End If

End If
%>


All'inizio di ogni pagina (p.e. home.asp) si inserisce questo controllo (ho messo anche la scadenza immediata della pagina in cache):

<%

<b>' Controllo se l'utente si è logato
If Session("status") <> "login" Then
response.redirect "login.asp"
End If</b>

Response.expires = 0
Response.expiresabsolute = Now() - 1
Response.addHeader "pragma", "no-cache"
Response.addHeader "cache-control", "private"
Response.CacheControl = "no-cache"
%>


Questo è il contenuto della pagina logout.asp:

<% 

<b>' Resetto la sessione e quindi lo stato
Session.Abandon</b>

Response.redirect "login.asp"
%>


Ti ricordo che di default la durata del timeout di sessione è di 20 minuti. Puoi impostare un tempo diverso settando Session.Timeout con un valore numerico intero (minuti).

Ciao, Ricky.

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
23 messaggi dal 10 maggio 2004
      GRAZIE MILLE!!! SEI UN GENIO!!!! MENO MALE CHE CI SEI TU CHE CI ASCOLTI... ALTRIMENTI ERAVAMO NELLA M.....

CIAO CIAO

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.