Domanda

abbiamo implementato un sistema simile a quello descritto in questo post di altri SO . In sostanza, se l'utente non fa nulla per 14 minuti, abbiamo Prompt loro che verrà disconnesso. Se si clicca su "Resta collegato" facciamo una richiesta AJAX per mantenere viva la loro sessione, in caso contrario, vengono reindirizzati alla pagina di logout dopo un minuto.

Funziona abbastanza bene, ed è in linea con sistemi simili impiegati in siti come mint.com e bankofamerica.com. L'unico problema è che gli utenti della nostra applicazione tendono ad avere più schede aperte per riferirsi avanti e indietro per diversi pezzi di dati. Quindi il problema è che essi possono essere lavorando attivamente in una scheda, ma poi le altre volte linguetta fuori e li disconnette. Questo provoca un timeout di sessione brusca per l'utente quando non si aspettavano di esso. btw, mint.com ha lo stesso problema.

Così mi chiedevo se qualcuno avesse qualche idea per combattere questo?

Ho un idea, ogni richiesta potrebbe impostare un cookie "ultima volta attiva". Al momento di auto-logout, il server potrebbe controllare questo ultima volta attiva e se è relativamente recente, evitare di logout. La disconnessione manuale sarebbe ovviamente ignorare questo cookie in modo se l'utente vuole disconnettersi può farlo in qualsiasi momento. Tuttavia, temo che questo può essere esporre una sorta di rischio per la sicurezza che non sono in grado di vedere a questo punto. Pensieri?

È stato utile?

Soluzione

Prima di mostrare pop-up, chiedere al server quanto tempo fa l'utente ha fatto la sua ultima richiesta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top