Avatar billede mscodedk Nybegynder
26. maj 2002 - 17:43 Der er 15 kommentarer

Hvordan laver man et timeout-logout system.. til brugerbaseret ?

Hvordan laver man et timeout-logout system.. til brugerbaseret ? Jeg har lavet et system hvor man logger på og har derved adgang til scripts o.s.v  Men mit problem er at brugerne aldrig trykker "logout" og er derved stadig "online" for de andre brugere... Det er ikke så smart, vel?  - ej
Avatar billede Slettet bruger
26. maj 2002 - 17:45 #1
eftersom jeg ikke ved hvordan dit logon system er opbygget, er det ikke nemt.

jeg kører mine login med sessions, dvs. sætter en session til 30 minuter, hvis den ikke har været brugt i 30 min, er brugeren loggetud &:-D

mvh.
www.questis.dk
Avatar billede mscodedk Nybegynder
26. maj 2002 - 17:51 #2
min hp:  www.ms-code.dk

prøv at se hvordan det er bygget op....

eks.    session.timeout = 30

eller noget i den stil?
Avatar billede Slettet bruger
26. maj 2002 - 17:54 #3
mscodedk ???? hvofor angiver du et svar magen til mit ? ingen ide i,
Avatar billede tmceu Praktikant
26. maj 2002 - 18:15 #4
For at ovenstående skal have nogen effekt, skal du ligge noget kode i Session_OnEnd i global.asa, som opdaterer online brugere, når deres session enten bliver afsluttet med session.abandon eller timer ud.

Du skal være opmærksom på, at sessions anvender cookies og at klienten derfor skal have dette enabled for at det virker. I modsat fald, vil hver enkelt request blive opfattet som en ny session.

Du skal også være opmærksom på, at Session_OnEnd på IIS 4 ikke kører i mere end 95-97% af alle tilfælde, hvor den timer ud. Dette påstås løst i IIS 5 og jeg har endnu ikke set nogen "brokke sig over" at det ikke passer at det er løst.
Avatar billede tmceu Praktikant
26. maj 2002 - 18:18 #5
Hvis du gerne vil sikre dig, at brugerne skal logge ind igen, hvis deres session timer ud, er der en artikel på 4guysfromrolla.com: http://www.4guysfromrolla.com/webtech/tips/t022800-1.shtml

Da denne tilsyneladende er nede pt, har jeg inkluderet et link til en cahced version hos google:

www.4guysfromrolla.com/webtech/tips/t022800-1.shtml+page+expires+session+timeout&hl=da&ie=UTF8" target="_blank">http://www.google.com/search?q=cache:jNxpzIPAFtsC:www.4guysfromrolla.com/webtech/tips/t022800-1.shtml+page+expires+session+timeout&hl=da&ie=UTF8
Avatar billede mscodedk Nybegynder
26. maj 2002 - 18:18 #6
Sorry.....

Det var bare om det var sådan jeg skulle gøre?
Avatar billede mscodedk Nybegynder
26. maj 2002 - 18:23 #7
jeg har ikke prøvet at lave en GLOBAL.ASA før..... Skal den bare ligge i roden og det der med Session_onend.......

Er det sådan noget i den stil...:

<%
Session_onend
  noget her...
end
%>


????

Plz help me
Avatar billede larsen Nybegynder
26. maj 2002 - 20:49 #8
Der er også den mulighed, at du laver en fil, hvor filnavnet er lig med SessionID og så checker den for "tid siden opdatering".

Nå du så checker om filen findes og tiden ikke er overskredet med det interval du nu sætter, åbner du filen og skriver et eller andet i den.

Dette script kan du så include i dine filer, som skal være sikre.

Dette er også en god måde til at se om folk er logget ind. Også når de vil logge af igen, så sletter man bare filen.
Avatar billede tmceu Praktikant
26. maj 2002 - 21:39 #9
Sessin_OnEnd er en af 4 faste subrutiner, der kan ligges i global.asa og ja, den ligger normalt i roden af et web/applikation.

Her er et eksempel på en tom global.asa

<SCRIPT LANGUAGE=VBScript RUNAT=Server>

'You can add special event handlers in this file that will get run automatically when
'special Active Server Pages events occur. To create these handlers, just create a
'subroutine with a name from the list below that corresponds to the event you want to
'use. For example, to create an event handler for Session_OnStart, you would put the
'following code into this file (without the comments):

'Sub Session_OnStart
'**Put your code here **
'End Sub

'EventName              Description
'Session_OnStart        Runs the first time a user runs any page in your application
'Session_OnEnd          Runs when a user's session times out or quits your application
'Application_OnStart    Runs once when the first page of your application is run for the first time by any user
'Application_OnEnd      Runs once when the web server shuts down

</SCRIPT>

Og så skal du ikke bekymre dig så meget om questis' kommentar, vedkommende var sikkert ikke klar over at det er dig, der har stillet spørgsmålet og var nok bange for at "miste" sine point :-)
Avatar billede mscodedk Nybegynder
27. maj 2002 - 12:00 #10
jeg prøver lige... HOLD ON..
Avatar billede mscodedk Nybegynder
27. maj 2002 - 12:13 #11
Hvad skriver jeg forket...

<SCRIPT LANGUAGE=VBScript RUNAT=Server>

Sub Session_OnEnd

        Set conn = Server.CreateObject("ADODB.Connection")
        Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/Login/Users.mdb")
        strSql = "update bruger set brugeronline='nej' where brugernavn = '" & session("brugernavn") & "'"
        Conn.Execute(strSQL)
        Session.Abandon
End Sub

</SCRIPT>
Avatar billede mscodedk Nybegynder
27. maj 2002 - 12:15 #12
Hvornår er "Session_OnEnd" EGENTLIG?
Avatar billede mscodedk Nybegynder
27. maj 2002 - 12:19 #13
MIN GLOBAL.ASA:

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnStart

        Session.timeout = Minute(now)+10

End Sub

Sub Session_OnEnd

        Set conn = Server.CreateObject("ADODB.Connection")
        Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/Login/Users.mdb")
        strSql = "update bruger set brugeronline='nej' where brugernavn = '" & session("brugernavn") & "'"
        Conn.Execute(strSQL)
        Session.Abandon

End Sub

</SCRIPT>
Avatar billede tmceu Praktikant
27. maj 2002 - 19:15 #14
Jeg har set flere eksempler på, at der er problemer med at anvende Access databaser i Session_OnEnd, mens der aldrig er problemer med SQL Server. Jeg kan ikke forklare dig hvorfor, men jeg tror jeg har set en 4-5 stykker i den sidste måned tid.
Avatar billede Slettet bruger
25. december 2002 - 16:28 #15
lukketid ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester