49 messaggi dal 07 agosto 2002
Ciao a tutti!
Volevo sapere se e come è possibile con ASP fare in modo che sia negato l'accesso ad un utente se questo mi risulta già collegato.
Io ho un DB con gli utenti e le loro password. Se uno si collega controllo e accetto il collegamento e metto lo stato dell'utente a "collegato". Il mio problema è verificare quando si scollega, cioè se uno mi chiude explorer senza fare la procedura di uscita io non metto mai lo stato a "scollegato" e se lui tentasse di ricollegarsi gli verrebbe negato.

C'è qualche "trucco" con ASP? Oppure sapete dove andare a cercare per cose simili?

Grazie e ciao!
2.584 messaggi dal 14 maggio 2001
Per un accesso univoco potresti giocare sulla SessionId...
il problema è che la sessione ha un timeout di 15 minuti se chiudi il browser senza fare la disconnessione...
Se vincoli l'accesso all'indirizzo Ip l'utente potrebbe ricollegarsi al sito (sempre se ha un indirizzo Ip fisso o se ha un dhcp e non butta giù la connessione)
In realtà non c'è un modo perché tutti i metodi hanno pro e contro e nessuno è completo (questo secondo le idee che mi vengono in mente in questo momento...)

Potresti fare una cosa del tipo:
vincolo su indirizzo Ip
se un utente si collega da un altro Ip si chiede se vuole disconnettere il precedente
ogni pagina ha un controllo sull'indirizzo Ip (se ip diverso automaticamente lo butti fuori)
49 messaggi dal 07 agosto 2002
Interessante il gioco con l'IP; tra l'altro ho IP fissi.
Cosa intendi però con "automaticamente lo butti fuori"? Come si butta fuori un utente? Come in discoteca? ;-)
49 messaggi dal 07 agosto 2002
Scusa, mi sono dimenticato di chiederti anche come si fa a disconnettere un
utente, quando dici "se un utente si collega da un altro Ip si chiede se vuole disconnettere il precedente" .

Grazie!
2.584 messaggi dal 14 maggio 2001
Pensavo qualcosa di banale del tipo...

file include incluso in ogni tua pagina importante
questo file controlla l'indirizzo ip del tuo client e lo confronta con quello registrato sul db all'accesso autenticato
se ip è diverso mandi ad una pagina di errore o alla pagina di login avvertendo l'utente che la sua user è già utilizzata dal computer con Ip....
sul form iniziale di login metti un checkbox "disconnetti altre connessioni"
se il checkbox non è flaggato farai un controllo user e password e verifichi che il campo Ip sia uguale a quello del tuo client (ricordati che se il campo Ip è nullo devi inserire il tuo Ip)
se il checkbox è flaggato sovrascrivi il campo Ip con quello del tuo client

Questo metodo casereccio ha l'unico inconveniente che devi fare un accesso al db ogni volta che vuoi controllare che l'utente abbia l'Ip uguale a quello inserito nel db di accesso

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.