C'è un modo per scoprire se un ID di sessione è valido all'interno di un contesto di richiesta esistente? In questo caso, se mi viene dato un ID di sessione e sono attualmente in un'altra sessione avviata da una richiesta HTTP e sono su una pagina o in qualche classe, posso convalidare quell'ID di sessione, se è valido e attualmente esiste e non è stato abbandonato?In ASP.Net, posso scoprire se esiste un'altra sessione o è valida per un ID di sessione?
La ragione di questo è, abbiamo bisogno di bloccare il processo di login utente sulla pagina per il progetto su cui sto lavorando in modo che qualsiasi utente può essere registrato solo in una volta. Il mio pensiero su questo è stato quello di aggiungere una colonna id di sessione alla tabella utente, se è nullo, sono disconnessi ed è impostata quando si collegano e si cancellano quando si disconnettono o su Session_End in global.asax. Tuttavia, se per qualche motivo una sessione viene abbandonata senza averlo eliminato, devo essere in grado di collegarli di nuovo, e in quel caso ogni volta che accedono e trova un ID di sessione in quella colonna, penso che in qualche modo dovrebbe controllare per vedere se tale sessione Id è attivo e valido, se non, sarà ripristinato al loro nuovo ID di sessione e consentire loro di log-in.
Grazie
Avete bisogno di mantenere la loro sessione di sempre? Ciò significa che ASP .NET finirà per abbandonare le sessioni scadute. Ma dal punto di vista dell'utente lo stato dell'applicazione dovrebbe rimanere sempre lo stesso? – Yuck
Non ce l'abbiamo, abbiamo un timeout di 30 minuti che richiede all'utente di eseguire di nuovo il login. Non stiamo utilizzando alcuna autenticazione basata su cookie, solo la sessione attiva e l'archiviazione dell'oggetto utente al suo interno. Quando la sessione scade, vengono "disconnessi" e devono effettuare nuovamente il login. –