Este equipo de trabajo ha estado por horas buscando la respuesta a tus interrogantes, te ofrecemos la solución de modo que nuestro deseo es que sea de mucha apoyo.
Solución:
Puedes usar
ngAlmacenamiento
Un módulo de AngularJS que hace que el almacenamiento web funcione de forma angular. Contiene dos servicios: $localStorage y $sessionStorage.
Diferencias con otras implementaciones
Ninguna mierda de Getter ‘n’ Setter – Directamente desde la página de inicio de AngularJS: “A diferencia de otros marcos, no hay necesidad de […] envuelva el modelo en métodos de acceso. Simplemente JavaScript antiguo aquí.” Ahora puede disfrutar del mismo beneficio mientras logra la persistencia de los datos con el almacenamiento web.
sesiónAlmacenamiento – Tenemos cubierto a este amigo que a menudo se pasa por alto.
Código de Autor Limpio – Escrito en Angular Way, bien estructurado teniendo en cuenta la capacidad de prueba.
Sin respaldo de cookies – Dado que el almacenamiento web está disponible en todos los navegadores compatibles oficialmente con AngularJS, este respaldo es en gran medida redundante.
A continuación se muestra un ejemplo de muestra
Demostración de trabajo
var eS = angular.module('exampleStore', ['localStorage']);
$rootScope
siempre se restablecerá cuando se actualice la página, ya que es una aplicación de una sola página.
Debe usar algo que persista en el lado del cliente, como una cookie o sessionStorage (ya que ambos tienen un tiempo de vencimiento). Eche un vistazo a la documentación para $cookieStore
: https://docs.angularjs.org/api/ngCookies/service/$cookieStore
Recuerde, la información confidencial de la sesión debe cifrarse.
Debe crear una API en su servidor para recopilar el usuario actual. Esta API debe devolver el mismo objeto de usuario que el que tiene después de iniciar sesión.
Para cada $route.path que desee proteger dentro de $routeProvider, llame a esta API en el controlador usando ng-init. Si la API devuelve un objeto, agregue el objeto a su $rootScope; de lo contrario, fuerce al usuario a la página de inicio de sesión.