Authentification de connexion au routeur ui-router AngularJS : combinaison de sections avec différentes applications
Problème :
Vous avez deux applications AngularJS avec Configurations ui-router, une pour la page d'accueil et une autre pour le tableau de bord. Après une connexion réussie, comment rediriger l'application de la page d'accueil vers l'application du tableau de bord ?
Solution :
Pour combiner les deux sections avec différentes applications AngularJS, suivez ces étapes :
-
Mettre en œuvre la gestion des identités :
Créer un service pour authentifier et suivre l'identité de l'utilisateur (mandant). Résolvez cette identité avant tout changement d'état.
-
Vérifications d'autorisation :
Créez un service (autorisation) qui effectue des vérifications d'autorisation avant les changements d'état à l'aide du service principal. Si l'utilisateur n'est pas authentifié ou échoue à une vérification de rôle, redirigez-le vers la page appropriée.
-
Écoutez les changements d'état :
Dans le bloc de configuration AngularJS, ajoutez un écouteur au Événement $stateChangeStart. Utilisez cet écouteur pour lancer des vérifications d'autorisation.
-
Forcer la résolution d'identité :
Résolvez l'identité dans l'état d'autorisation du routeur ui à l'aide de la propriété de résolution. Cela garantit que la résolution d'identité a lieu avant les contrôles d'autorisation.
-
Redirection d'itinéraire conditionnelle :
Si les contrôles d'autorisation échouent, empêchez le changement d'état actuel en annulant la transition d'itinéraire ou en redirigeant vers un autre itinéraire. .
-
Gérer la déconnexion :
Implémenter un mécanisme de déconnexion d'un utilisateur, qui effacera le identité et redirigez vers la page d'accueil.
-
Attribuer des rôles aux États :
Ajoutez la propriété data.roles aux États qui nécessitent des rôles spécifiques pour l'accès. Le service d'autorisation l'utilisera pour effectuer des vérifications de rôle.
-
Éléments de vue conditionnels :
Utilisez le service principal pour afficher de manière conditionnelle des éléments de vue en fonction de l'état d'authentification ou de l'attribution de rôle.
En mettant en œuvre ces étapes, vous pouvez combiner avec succès deux applications AngularJS avec différentes configurations de routeur ui et garantir une authentification de connexion appropriée et un accès basé sur les rôles. contrôles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!