asp.net mvc自定义授权角色属性

时间:2012-10-19 15:05:08

标签: asp.net-mvc

我需要将以下角色应用于我的大多数控制器,例如

this[Authorize(Roles="SysAdmin,Admin,Support")].

如何在不指定每个控制器的角色的情况下在基本控制器中重构此代码? 感谢

2 个答案:

答案 0 :(得分:1)

AuthorizeAttribute定义为

[AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Method, Inherited = true, 
    AllowMultiple = true)]
public class AuthorizeAttribute : FilterAttribute, IAuthorizationFilter

如您所见,它是使用Inherited = true定义的,因此只需将属性应用于基本控制器即可。

答案 1 :(得分:0)

查看FluentFilters lib http://fluentfilters.codeplex.com/它提供了一种简单应用全局过滤器的方法。