【问题标题】:How to create Custom Authorization attribute?如何创建自定义授权属性?
【发布时间】:2013-03-01 11:23:58
【问题描述】:

我正在尝试使用参数在我的 mvc4 应用程序上实现自定义授权属性。

我想要实现的是:

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

属性也应该可以装饰控制器,不仅仅是方法

【问题讨论】:

  • 您的意思可能是使用= 而不是==:除非您将Application"Initialize,Start,..." 进行比较
  • 你想要一个类级别的授权属性吗?或者你对“不仅装饰方法”有什么看法?

标签: c# .net visual-studio asp.net-mvc-4 custom-attributes


【解决方案1】:

你的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
}

这就是你要找的吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-01
    • 2015-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多