Evitare un doppio login

martedì 10 novembre 2009 - 21.12

almax Profilo | Junior Member

Ciao, ho esigenza di far in modo che un utente loggato non possa loggarsi da un'altro pc nello stesso momento con le stesse credenziali .. Quale strada dovrei percorrere ?
Utilizzo vbnet con un form di autenticazione da db .. Controllo lo sato di sessione se è ancora attiva salta il form e vorrei che a livello generale ci sia questo controllo per bloccare il doppio login ..

Grazie

luxsor Profilo | Guru

Ciao Massimo,
ti consiglio di tenere traccia degli utenti loggati in una tabella temporanea e verificare ad ogni login se tale utente è presente in quella tabella.

Fammi sapere


------------------------
Luxsor

almax Profilo | Junior Member

Si in effetti è una soluzione valida .. Solo che nel momento in cui io butto giù la pagina con la x dell'explorer invece che con un log-out, come faccio a quel punto ? mi rimane il db appeso ...

luxsor Profilo | Guru

Allora devi abbinare oltre che all'inserimento del Login nel DB degli accessi, anche un cookie temporizzato, facendo in modo che se l'utente risulta presente nel DB accessi ma non è presente o è scaduto il cookie temporizzato, rimuove tale utente dal DB.
Quindi se l'utente effettua il login sul PC1 e chiude il browser e prova a connettersi dal PC2, trova il login nel DB accessi ma non trova il cookie temporizzato in locale, quindi viene rimosso dal DB.

Fammi sapere


------------------------
Luxsor

almax Profilo | Junior Member

Bello .. non ci avevo pensato .. quindi controllo se oltre ad avere lo user nel db ci sia l'ugualianza tra true e il cookie che sarà differente per ogni accesso nel caso contrario elimino la riga rifaccio il login e riscrivo la riga .. Mi sorge una domanda magari per te banale, ma se avessi i cookie disattivati la cosa non funzionerebbe ...

Grazie

luxsor Profilo | Guru

Infatti.
Quindi potresti utilizzare una variabile SESSION. E' equivalente


------------------------
Luxsor
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5