2013-03-01 44 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 
} 

這是你在找什麼?