2010-10-26 34 views
4

Je comprends que mvc pour implémenter la sécurité basée sur les rôles au niveau du contrôleur ou niveau action pour mon site, je pourrais peindre la classe ou une méthode avec quelque chose comme ce qui suit:Évitez les rôles codés en dur dans MVC?

[Authorize(Roles = "DOMAIN\GROUPNAME")] 

(j'utilise l'authentification Windows)

Auparavant dans asp.net, j'aurais pu le faire avec une section de localisation dans la config.

Le problème que j'ai avec faire ceci est que ce site est installé dans divers environnements dans l'entreprise et pour chaque environnement que la valeur pourrait être différente.

Existe-t-il un moyen de donner à ces rôles un alias avec un mappage dans la configuration? Ou ai-je quelque chose de mal ici?

EDIT

J'ai essayé:

[Authorize(Roles=ConfigurationSettings.AppSettings["UpdateRole"])] 

Mais cela me donne l'erreur: "Un argument d'attribut doit être une expression constante, expression typeof ou un tableau d'expression création d'un type de paramètre d'attribut"

Répondre