2013-03-01 106 views
0

我想在我的mvc4应用程序中使用参数实现一个自定义的授权属性。如何创建自定义授权属性?

我想实现的是:

[Authorize(Application == "Initialize,Start,..." , Topic == "foo1,foo2,foo3...")] 
public ActionResult Edit(int id) 
{ 
    //rest 
} 

属性也应该能够装点控制器,不仅方法

+0

您可能的意思是使用'='而不是'==':除非您将'Application'与''Initialize,Start,...''进行比较' – 2013-03-01 11:39:26

+0

'您想在课堂级别授权属性吗?或者你用什么“装饰控制器不仅是方法”? – bas 2013-03-01 11:45:11

回答

0

custom authorization attribute

public class UberAuthorizeAttr : System.Web.DomainServices.AuthorizationAttribute 
{ 
    public string Application {get;set;} 
    public string Topic {get;set;} 

    public override bool Authorize(System.Security.Principal.IPrincipal principal) 
    { 
     // your custom behaviour 
    } 
} 

你的控制器:

[UberAuthorizeAttr(Application = "Initialize,Start,..." , Topic = "foo1,foo2,foo3...")] 
public ActionResult Edit(int id) 
{ 
    //rest 
} 

这是你在找什么?