Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    impedire un accesso contemporaneo dello stesso utente da + postazioni

    Come posso impedire che uno stesso utente possa accedere al mio portale contemporaneamente da 2 postazioni diverse?

    Quello che vorrei ottenere e che se Mario Rossi risulta loggato all'interno del mio portale, non possa effettuare il login da un altra macchina.

    Potete aiutarmi???

  2. #2
    Purtroppo il metodo di autenticazione di asp.net non permette di richiamare funzioni allo scadere dell'autenticazione dell'utente sul sito.

    Per poter fare questo, il metodo più banale che mi viene in mente, è l'inserimento di un campo del database dove hai gli utenti che possono "loggarsi" e l'uso delle session e dei suoi eventi. Quando un utente effettua il login, imposti il campo del database con un valore (per esempio "true") in modo che eventuali futuri login con le stesse credenziali possono essere controllati (è sufficiente controllare se quel campo contiene quel valore). Una volta che l'utente effettua il logout o scade la sessione, reimposti a "false" tale campo.

    I problemi che potrebbero sorgere in questi casi è il tempo di scadenza di sessione minore a quello di autenticazione. Un valore simile dovrebbe evitare problemi.

    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

  3. #3
    Volevo evitare di usare le variabili di sessione per non rendere l'applicazione troppo pesante per il Server. Sto facendo un portale piuttosto grande a cui accederanno numerose persone contemporaneamente!!!

    Se a qualcuno viene in mente qualcosa...

  4. #4
    Se non ho capito male, mi sembra che il consiglio di andrea non necessariamente porta via risorse al server in quanto l'informazione e' memorizzata sul db, e viene modificata (true o false) solo nel momento in cui l'utente fa il logout o fa scadere il tempo della sua sessione.
    Saluti a tutti
    Riccardo

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    514
    Anch'io avrei bisogno di fare un'autenticazione del genere.

    Siccome il mio sito lavora quasi interamente con xml e xslt avevo pensato di fare cosi.

    Cè un file Xml con utenti online dove ogni nodo porta il nome della sessione id aperta.

    <utenti>
    <5hj54hj54 />
    <8925jh5j5 />
    </utenti>

    L'utente può navigare liberamente e se fà il login viene inserito il nome utente username!

    <utenti>
    <5hj54hj54 usr="cicciobello" />
    <8925jh5j5 usr="picopallino" />
    </utenti>

    Fatto questo ad ogni link viene inserito l'id di sessione che poi asp.net provedderà a recuperare il nome utente per eleaborare la pagina.

    pagina.aspx?SessionID=5hj54hj54

    Non verrà + richiamato il database e se lo stesso utente fà un'altro login, viene controllato l'username nell'xml che è già attivo, di conseguenza annullato !!

    Unico problema che mi chiedo, se a mano viene messo un'id di sessione di un'altra persona, può entrare nelle sezioni di quell'utente!
    Quante probabilità ci sono di scoprire il numero della sessione scrivendo a caso ? :master:

    Secondo voi mi stò incasinando la vita per niente ? :maLOL:

  6. #6
    Originariamente inviato da Lollys
    Quante probabilità ci sono di scoprire il numero della sessione scrivendo a caso ? :master:
    Come crei quel SessionID?

    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    514
    Originariamente inviato da AndreaZani
    Come crei quel SessionID?
    Devo ancora provare, stò facendo degli appunti ancora!
    Ma il SessionID non viene creato automaticamente dal server ?
    Quello che poi viene recuperato con Session.SessionId !!

    Sbaglio o quesrto ID si può utilizzare anche se l'utente non ha cookies abilitati ? :master:

  8. #8
    Sì, certo, puoi usare anche quelli.

    Oppure puoi usare:
    codice:
    string SessionID=Guid.NewGuid().ToString()
    Possibilità di avere lo stesso codice e una su 2^128 (3E+38). Abbastanza sicuro

    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    514
    Originariamente inviato da Lollys

    Fatto questo ad ogni link viene inserito l'id di sessione che poi asp.net provedderà a recuperare il nome utente per eleaborare la pagina.

    pagina.aspx?SessionID=5hj54hj54
    Questo esempio, l'hò visto in svariati link !
    Ma che senso ha passaare il SessionID quando ad ogni pagina posso richiamarlo con Session.SessionID !

    Penso sia per via dei cookies disabilitati.
    Come si fà a disabilitare il tutto ?
    Io ho messo nel web.config cookieless="true" e poi ho settato i browser senza cookies !

    Però riesco sempre a recuperare il SessionId senza passarlo tramite l'url ! :master:

  10. #10
    Fai il reload di pagina, vedrai che quel sessionid cambia (sempre che hai i cookie disabilitati e non usi il Cookieless)

    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.