Comment ajouter "passer le paramètre' à AuthorizeAttribute personnalisé

Je tiens à assurer de contrôleur de l'action, de sorte que seuls les utilisateurs avec le rôle "Admin" peut obtenir.

Je n'utilise pas de Rôle/fournisseur d'Appartenance à l'ensemble, tout est personnalisé.

J'ai fait jusqu'à présent:

public class CustomAuthorizeAttribute : AuthorizeAttribute
{
    protected override bool AuthorizeCore(HttpContextBase httpContext)
    {
        var isAuthorized = base.AuthorizeCore(httpContext);            
        if (!isAuthorized)
            return false;

        string username = httpContext.User.Identity.Name;

        UserRepository repo = new UserRepository();

        return repo.IsUserInRole(username, "Admin");
    }
}

Avis que j'ai codé en dur "Admin" ici.

Je veux que ce soit dynamique.

Ce travail maintenant:

[CustomAuthorize]
        public ActionResult RestrictedArea()...

Mais je veux quelque chose comme ceci:

[CustomAuthorize(Roles = "Admin")]
        public ActionResult RestrictedArea()

OriginalL'auteur 1110 | 2013-02-23