Avatar billede rundt_om Nybegynder
06. december 2005 - 10:35 Der er 5 kommentarer

Tjeck om brugeren er online

Jeg har et login-område, der skal sikres på en måde, så man ét brugernavn ikke kan anvendes af flere personer samtidigt.

Det vil sige, at når en bruger logger ind, skal der tjekkes om denne bruger er logget ind i forvejen. Hvis brugeren er "aktiv" skal man så blive afvist og hvis brugeren ikke er "aktiv" kan man få lov til at gå ind.

Hvordan gøres dette smartest? Jeg forestiller mig noget med at tjekke om en Session er aktiv eller ej...?

Løsningsmodeller er velkomne!
Avatar billede softspot Forsker
06. december 2005 - 10:44 #1
Du kan ikke kontrollere en browsers session fra en anden browsers session, så den metode er nok ikke gangbar. Du skal nok i stedet gå efter en model hvor du gemme login-information i en database og så checker der når en bruger forsøger at logge på...

Husk at rydde op når brugeren logger af igen... også når brugeren bliver smidt af, fordi session udløber (det kan du gøre i Session_OnEnd-eventet i global.asa).
Avatar billede rundt_om Nybegynder
06. december 2005 - 11:08 #2
Ok... nu har jeg aldrig arbejdet med global.asa -men så må man jo lære noget nyt :)

Hvad sker der så, hvis brugeren lukker browseren uden at logge ud?
Avatar billede softspot Forsker
06. december 2005 - 11:12 #3
Så bliver din redning global.asa (men først når session udløber - typisk efter 20 minutter inaktivitet).

Eksempel på en global.asa (som ALTID skal ligge i roden af dit site):

<script runat="server" language="vbscript">
Sub Session_OnEnd()
  ' Lav noget kode som sørger for at brugeren bliver logget af f.eks.
  set cn = Server.CreateObject("ADODB.Connection")
  cn.Open din_connection_streng
  cn.Execute("UPDATE bruger SET online = 0 WHERE id = " & session("brugerid"))
  cn.close
End Sub
</script>
Avatar billede rundt_om Nybegynder
07. december 2005 - 15:31 #4
Nå, nu har jeg leget lidt med det, men ligemeget hvad jeg gør, så kan jeg simpelthen ikke få 'Session_OnEnd' til at køre :(
Avatar billede busschou Praktikant
07. december 2005 - 17:49 #5
global.asa er ret tricky indtil man forstår hvordan den hænger sammen :o)
Det er nemlig ikke helt som en normal asp fil og så får man ikke nogen fejlmeddelelser ved fejl.
Et forslag kunne være at læse min artikkel bare for lidt forståelse omkring emnet :o)
http://www.eksperten.dk/artikler/752
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