webForumDet fria alternativet

En Session som först stängs när användaren loggar ut.

ASP

4 svar · 375 visningar · startad av Oputres

Medlem sedan feb. 2004333 inlägg
Frågan#1

Allå!

Hur skapar man en Session vars TimeOut är igång tills användaren antingen stänger webbläsaren eller loggar ut.

Eller ännu bättre. Finns det något sätt att meddela medlemmen om att hans session gått ut? I och med att sidan är lösenordsskyddad så kollar jag i början att allehanda krav är uppfyllda, är dem inte det så skickar jag dem till en felsida. Problemet blir ju att när sessionen gått ur skickas besökaren också till felsidan.

Medlem sedan jan. 2003438 inlägg
#2

Om du t ex har en sida som heter logout.asp så kan den innehålla något liknande detta:

<p>Tack för besöket du är nu utloggad...</p>
<%= Session.Abandon %>

Session.Abandon stänger samtliga Sessioner.

Medlem sedan juni 200032 967 inlägg
#3

Servern kan egentligen inte veta när användaren stänger sitt fönster.

Eller ännu bättre. Finns det något sätt att meddela medlemmen om att hans session gått ut?

Jag ser spontant två alternativ:

  1. Se till att inte användaren loggas ut automatiskt (Kan ju lösas med att du använder en cookie istället för sessionsvariabler)
  2. Ha ett javascript som räknar ner timeout-tiden. Låt javascriptet börja om nedräkningen så fort användaren gör en request.

Vidare, bort med = ur SannyWs exempel, det har inte där att göra.

mvh

Medlem sedan dec. 199917 055 inlägg
#4

Re: En Session som först stängs när användaren loggar ut.

Oputres skrev:

Problemet blir ju att när sessionen gått ur skickas besökaren också till felsidan.

En enkel lösning är väl att skriva det på felsidan?
"Antingen är du inte inloggad eller så har du loggats ut automatisk på grund inaktivitet."

Medlem sedan feb. 2004333 inlägg
#5

En enkel lösning är väl att skriva det på felsidan?
"Antingen är du inte inloggad eller så har du loggats ut automatisk på grund inaktivitet."

Problemet är att jag skriver att sidan inte finns ifall någon utomstående skulle hitta sidan.

Önskemålet vore något liknande:

If Session("Inloggad") = Abandon Then
 Response.Write "Du har blivit utloggad p.g.a. inaktivetet."
ElseIf Session("Inloggad") <> "Ja" Then
 Response.Redirect ("errorpage.asp")
End If

Nu fläskade jag på Session.TimeOut till 100 när man loggade in och innan dess bör man väl ha hunnit logga ut eller stängs fönstret så man inte nås av meddelandet att sidan finns om man nu loggat in.

250 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)