Comment afficher ou masquer les contrôles basés sur les rôles - ASP.NET MVC 4 Razor
Je travaille sur ASP.NET MVC 4 application.J'ai un tableau de bord et mes groupes d'utilisateurs seront basés sur Windows de Domaine
Je suis donc à l'aide de l'Authentification WIndows pour l'authentification des utilisateurs.
J'ai créé des exemples d'applications qui utilise l'authentification personnalisée par des remplacements de fonctions AuthorizeAttribute, ActionFilterAttribute . Est-ce une bonne approche ?
- Attribut qui est le mieux utilisé pour l'authentification ?
J'ai un tableau de bord. Donc j'ai besoin d'afficher ou masquer les commandes basées sur des rôles.
Supposons que si il y a 3 grilles(tableau), Si l'Admin se connecte, il peut en mesure de voir 3 grilles(tables).
Mais si l'utilisateur est connecter il peut voir 2 grilles (tableau).
Mon plan est de créer des vues partielles pour chaque grille et donc il y aura une Action et le Contrôleur pour chaque vue partielle.
Il y aura une base de données et que je vais préciser les actions qui chaque groupe peut effectuer. Afin que je puisse filtrer les demandes.
2 Comment puis-je masquer ou afficher l'partielle des vues basées sur les rôles ?.
J'ai essayé quelques liens, mais ils sont tous de parler de 2,3 rôles et elle est codée en dur.
Dans mon cas, les rôles peuvent varier et nous utilise db à mettre en place l'accès rôles.
Merci d'avance.
source d'informationauteur kbvishnu
Vous devez vous connecter pour publier un commentaire.
J'ai fait quelque chose de similaire. Je l'ai fait (peut-être pas le meilleur)
est d'envoyer un booléen retour à la vue
dans le controller:
puis dans la vue:
vous devrez faire de la logique de définir le booléen de la façon dont vous le souhaitez, mais ce devrait être un point de départ.
vous pouvez également créer une méthode statique qui renvoie le rôle et puis obtenir cette valeur directement à partir de la vue. cela peut être une mauvaise forme.
ensuite créer une classe appelée AppHelper et une méthode appelée GetRole que revient le rôle de l'utilisateur.
Vous pouvez utiliser le code Suivant pour rôle basé sur la vérification de
En général, vous voulez garder votre point de vue aussi propre que possible, avec peu ou pas de logique.
Je suggère de déplacer votre rôle de vérification de la logique dans l'action d'un contrôleur et du rendu d'une vue partielle en fonction du rôle des utilisateurs.
Vous pouvez utiliser ChildActions et le Html.L'Action de la méthode d'extension pour obtenir ce câblé.
À partir de MSDN:
Dans votre projet, créez un nouveau Contrôleur appelé tableau de bord et ajoutée une Action appelée BuildTable.
Inclure la ligne suivante dans la vue où vous souhaitez que le tableau de bord de la table à comparaître.