Bonjour,
J'ai créé un site en MVC3. J'ai réussi à mettre en place l'espace membre.
Tout fonctionne très bien, je peux limiter l'accès de certaines pages à certains membres.
Ce que j'aimerais c'est pouvoir modifier les droits d'accès à chaque page depuis une partie "Admin", où je pourrais choisir quel type de personne ont le droit d'accéder au différentes page du site.
Le problème c'est qu'il faut utiliser ceci au dessus de chaque controller :
Ici, seul les membres ayant pour role "Admin" ont accès à l'index.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 [Authorize(Roles = "Admin")] public ActionResult Index() { ... }
J'ai déjà essayé de mettre une variable à la place :
Mais j'ai ce message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 static string test = "Admin"; [Authorize(Roles = test)] public ActionResult Index() { ... }Il faut que la variable soit constante (j'ai testé, si on déclare un string constant, ça marche).Erreur 3 Un argument d'attribut doit être une expression constante, une expression typeof ou une expression de création de tableau d'un type de paramètre d'attribut ...
Donc, comment je pourrais faire définir les roles de manière dynamique ??
Sachant que les roles sont dans une BDD et que les règles pour chaque page seront aussi stockés dans une BDD (le nom du controller, le role associé).
Partager