如何创建自定义授权属性

本文关键字:自定义 授权 属性 创建 何创建 | 更新日期: 2023-09-27 18:01:54

我试图在我的mvc4应用程序上实现一个自定义的授权属性。

我想要达到的是:

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

该属性还应该能够装饰控制器,而不仅仅是方法

如何创建自定义授权属性

您的自定义授权属性:

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
}

这是你想要的吗?