Avatar billede phpguru1 Nybegynder
12. august 2008 - 09:49 Der er 3 kommentarer og
1 løsning

Max en aktiv session per bruger ad gangen

Jeg her et brugersystem hvor brugeroplysninger bliver gemt i en sesssion variable ved login.

Jeg ønsker at begrænse systemet således at brugeren maksimalt kan have en aktiv session ad gangen. Hvis brugeren ved login allerede har en aktiv session, skal brugeren spørges efter om han ønsker at overtage denne eller ønsker at lukke den tidligere session og starte en ny.

Skal jeg holde en collection af sessions i application objectet for at løse dette problem? Jeg har hørt at dette en en meget dårlig løsning - har I andre bud? Evt. en cookie/db-løsning?
Avatar billede jokkejensen Novice
12. august 2008 - 10:14 #1
Jeg ville i session_start smide sessionid og tidspunkt ind, og om brugeren er aktiv eller ej.. og sætte den deaktiv på session_end (google global.asax)

Så kan du sikre der ikke er 2 aktive.

Man kan ikke overtage en session som så, men hvis en ny bruger logger ind, kan du spørge om den anden skal logges ud, og i givet fald sætte ALLE andre rækker i tabellen til deaktiv. Så vil brugeren ved næste request ryge ud.

Brug evt ajax til at se om en anden bruger logger ind, så man ved om man er blevet logget ud, og ikke mister data.

/J
Avatar billede phpguru1 Nybegynder
12. august 2008 - 10:25 #2
Det er egentligt en simpel løsning på problemet, ved ikke hvorfor jeg ikke har tænkt i den retning. Smid et svar og du får point.
Avatar billede jokkejensen Novice
12. august 2008 - 10:41 #3
takker !..

.net tilbyder også sqldependencies, så du kan få .net til at overvåge ændringer i databasen, men et enkelt request skader vel ikke ved hvert postback :)
Avatar billede jokkejensen Novice
12. august 2008 - 13:14 #4
Jeg kom lige i tanke på at jeg selv har erfaret problemer med at skrive til en access database ved session_end, nogle rettighedsproblemer... mssql/mysql ingen problemer.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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