Comment gérer autorisation basée sur les rôles dans AngularJS?
Je suis entrain de créer une application web qui permettra de répondre à deux exigences pour les utilisateurs. Note: je suis nouveau sur AngularJS comme une plate-forme de développement web.
Front-end - 1: c'est une fonctionnalité de recherche où les utilisateurs peuvent rechercher des documents spécifiques et des études basées sur le mot-clé de recherche et des filtres. Cela a été mis en œuvre à l'aide de MySQL pour récupérer des données et de l'affichage en utilisant AngularJS.
Front-end - 2: les Utilisateurs auront la possibilité de créer un compte sur l'application web. Le but du compte est:
- Enregistrer leurs requêtes de recherche.
- Si l'administrateur associe à chaque utilisateur avec un rôle spécifique, les utilisateurs auront accès à des options supplémentaires telles que la modification de documents présents dans la base de données ainsi que le téléchargement de nouveaux documents et de nombreuses autres pages.
Ma question:
Comment gérer autorisation basée sur les rôles dans AngularJS? Je ne suis pas en mesure de comprendre comment créer un cadre qui implique des fonctionnalités suivantes:
- Les utilisateurs obtiennent un rôle associé à eux
- Empêcher les utilisateurs d'accéder à des pages ou fonctionnalités qui ne sont pas associés à ces rôles
J'ai lu sur quelques articles ainsi que des tutoriels mais chaque tutoriel se termine avec l'auteur en disant que l'autorisation basée sur les rôles doivent être manipulés sur le côté serveur et je comprends pourquoi c'est vrai.
Ce serait génial si quelqu'un peut me diriger vers des tutoriels ou écrivez-up qui est basée sur le rôle de l'autorisation de mise en œuvre côté serveur pour AngularJS.
Merci!
OriginalL'auteur CalmWinds | 2015-10-27
Vous devez vous connecter pour publier un commentaire.
- Je utiliser rôle de l'autorisation basée sur le backend ainsi que sur le frontend. Depuis que je suis à l'aide de l'INTERFACE utilisateur du Routeur pour le routage, la meilleure ressource que j'ai trouvé (et amélioré afin de répondre à mes besoins en) cet article:
le lien a expiré
Si vous utilisez l'INTERFACE utilisateur du Routeur, certainement le vérifier. Fondamentalement, vous devez configurer vos itinéraires de sécurité et d'intercepter toutes les modifications d'itinéraire. L'article comprend également une directive pour masquer les éléments de l'interface utilisateur, si l'utilisateur n'est pas autorisé à accéder au contenu derrière elle.
Edit: Ajouter un peu de code.
Tout d'abord, vous devez avoir les autorisations de l'utilisateur stockées quelque part, par exemple sur l'utilisateur de l'objet sérialisé dans localStorage:
Ensuite, vous avez deux parties importantes:
Directive:
Vous devez définir votre CSS ainsi que des éléments avec la classe
hidden
ne sont pas visibles.Service:
Maintenant, vous pouvez utiliser la directive pour afficher/masquer l'élément:
Bien sûr, cela ne fera que masquer l'élément dans le DOM, vous devez faire la demande d'autorisation sur le serveur.
Cette première partie résolu pour afficher/masquer des éléments de l'interface utilisateur, mais vous pouvez également protéger l'application des routes.
Définition de la Route:
et maintenant, il suffit de cocher la permission
$stateChangeStart
événementLe lien ne marche plus. Mieux de poster du contenu en tant que lien à l'extérieur.
J'ai ajouté le code de mon application, je crois, était fondée sur l'article.
OriginalL'auteur Adrian