Pregunta

Hemos implementado un sistema similar al que se describe en este otro post para . Básicamente, si el usuario no hace nada durante 14 minutos, que los impulsan que se registrarán a cabo. Si hacen clic en "No cerrar sesión" hacemos una petición AJAX para mantener su sesión activa, de lo contrario, se les redirige a la página de cierre de sesión después de un minuto.

Funciona bastante bien, y está en línea con sistemas similares empleadas en sitios como mint.com y bankofamerica.com. El único problema es que los usuarios de nuestra aplicación tienden a tener varias pestañas abiertas para referirse ida y vuelta a diferentes piezas de datos. Así que el problema es que ellos pueden estar trabajando activamente en una pestaña, pero luego las otras veces salta fuera y les cierra la conexión. Esto causa un tiempo de espera de la sesión abrupta para el usuario cuando no se lo esperaba. por cierto, mint.com tiene este mismo problema.

Así que me preguntaba si alguien tenía alguna idea de combatir esto?

Tengo una idea, cada solicitud podría establecer una cookie "última vez activa". Tras la auto-cierre de sesión, el servidor podría comprobar esta última vez activo y si es relativamente reciente, evitar la tala a cabo. El cierre de sesión manual sería ignorar, por supuesto, esta cookie por lo que si el usuario desea cerrar la sesión puede hacerlo en cualquier momento. Sin embargo, me temo que esto puede estar exponiendo algún tipo de riesgo para la seguridad de que no soy capaz de ver en este punto. Pensamientos?

¿Fue útil?

Solución

Antes de mostrar la ventana emergente, pedir al servidor cuánto tiempo hace que el usuario haya hecho su última petición.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top