Déconnexion automatique Angulaire 2 après quelques minutes
Je veux implémenter une fonction (dans Angular2) c'est à dire Après la connexion, si un utilisateur conserve navigateur inactif pendant 30 minutes, il doit être déconnecté lorsque de retour après 30 minutes. Ce qui doit être fait par l'avant uniquement.
Je suis angulaire à l'aide de la CLI Angulaire de la version 2.4
Comment puis-je mettre en œuvre cette fonctionnalité dans mon Angular2 application?
- Jetez un oeil à
ng-idle
module github.com/HackedByChinese/ng-idle ng-idle
estangularjs
de la bibliothèque, il est à l'aide deangular
dans ce cas, github.com/HackedByChinese/ng2-idle faire
Vous devez vous connecter pour publier un commentaire.
J'avais besoin de faire la même chose et créé ce: https://github.com/harunurhan/idlejs
Il n'est pas spécifiquement angulaire, mais il est écrit dans
typescript
de sorte que vous obtenez officiel typings.Il est simple et configurable, sans dépendances. Quelques exemples:
Vous pouvez également utiliser événement personnalisé cibles et les événements:
Fondamentalement, ce que vous devez faire est de définir un indicateur dans le cas de toute l'activité du client et que au bout de 30 minutes, vous devez vérifier que le drapeau. Si l'indicateur n'était pas de définir ce qui signifie que l'utilisateur n'a pas à être actif, de sorte que vous pouvez effectuer une
logout()
action.Voici quelques exemple de code(à l'aide de ngrx) que vous pourriez trouver utiles.
ClientActiveService
est un service qui vient de emmiting une action si le client a été active. Quelque part, comme dansapp.component.ts
vous avez à injecter que le service et appelthis.clientActiveService.run();
Puis, quelque part dans votre code, vous devez configurer un 30 minutes minuterie lorsque vous vous abonnez pour un
ClientInactiveAction
actionSinon vous risquez de vous voulez utiliser ng2-idle de la bibliothèque. Dans ce cas Angulaire 2 - Déconnexion à l'aide de ng2-idle pourrait aider.
ngrx
il suffit de prendre leprivate store: Store<fromRoot.State>
et tout code qui lui appartientimport * as fromRoot from '@ngrx/store';
pas de coutures à droite. Vous devez importer à partir de votrereducers
quelque chose commeimport * as fromRoot from '../reducers';
viens de mettre le droit chemin.ngrx
guide gist.github.com/btroncone/a6e4347326749f938510 et github.com/ngrx/platform/tree/master/example-app plus de détails