2010-08-12 4 views
2

Je dois développer un filtre d'autorisation dans asp.net mvc.I ont cinq catégories d'utilisateurs dans mon site et mon site utilise le système d'authentification créé par coutume. Maintenant j'ai un contrôleur action qui devrait être accessible à 3 sur ces cinq types d'utilisateurs.Comment créer un filtre (essentiellement autoriser) et l'utiliser qui répond à mes exigences? Je pense que je dois créer le filtre d'autorisation avec paramètre.Je devrais être en mesure d'utiliser quelque chose comme ça.créer le filtre d'autorisation avec le paramètre asp.net mvc

Authorize [UsersType = "admin, expert-comptable, opérateur"]

technologie utilisée: Asp.net MVC

Merci à l'avance

Répondre

4
  1. Créer une classe d'attributs qui hérite de la classe AuthorizeAttribute de MVC.
  2. Créez un constructeur dans votre classe d'attributs qui accepte le paramètre UsersType
  3. Remplacez les méthodes appropriées de AuthorizeAttribute nécessaires.
  4. Analysez le paramètre dans votre méthode de remplacement appropriée.

public class AuthorizeUserAttribute :AuthorizeAttribute 
{ 
    private string[] _userType { get; set; } 

    public AuthorizeUserAttribute(string UsersType) 
    { 
     // parse your usertypes here. 
    } 

    protected override void OnAuthorization(AuthorizationContext filterContext) 
    { 
     // do the appropriate assigning and authorizing of methods here 
     .... 
     base.OnAuthorization(filterContext); 
    } 
} 

Maintenant, vous pouvez mettre un attribut dans votre méthode dans votre contrôleur

[AuthorizeUser("admin,accountant,operator")] 
public ActionMethod Index() 
{ 
    return View(); 
} 
Questions connexes