Saltar al contenido

Gestión y tiempo de espera de sesión angular

Solución:

Prueba ng-idle. Es un componente simple en el que puede establecer el tiempo de espera y el tiempo de advertencia antes de que se alcance el tiempo de espera. Luego, puede consultar el servidor para el cierre de sesión del usuario o algo similar.

myApp.config(function(IdleProvider, KeepaliveProvider) {
  IdleProvider.idle(900); // 15 min
  IdleProvider.timeout(60);
  KeepaliveProvider.interval(600); // heartbeat every 10 min
  KeepaliveProvider.http('/api/heartbeat'); // URL that makes sure session is alive
});

myApp.run(function($rootScope, Idle) {
  Idle.watch();
  $rootScope.$on('IdleStart', function() { /* Display modal warning or sth */ });
  $rootScope.$on('IdleTimeout', function() { /* Logout user */ });
});

En la configuración anterior, cuando el usuario está inactivo durante 900 segundos (no mueve el mouse, no presiona ninguna tecla o botón, etc.), se muestra una advertencia. Luego esperará 60 segundos y cerrará la sesión del usuario (enviar una solicitud a un servidor que posiblemente destruya la sesión del servidor).

Para asegurarse de que la sesión del servidor no expire (incluso si todo lo que el usuario está haciendo es mover el mouse), Keepalive El servicio enviará una solicitud al servidor cada 10 minutos. Este tiempo tiene que ser menor que el tiempo de expiración de la sesión del servidor.

Consulte la demostración.

A continuación, se muestran algunas implementaciones:

https://github.com/witoldsz/angular-http-auth

https://github.com/angular-app/angular-app/tree/master/client/src/common/security

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *