0

假设我有一个枚举,例如:

public enum Permissions
{
   One,
   Two,
   Three
}

如何创建可以在控制器或操作上使用的自定义过滤器,如下所示:

[PermissionCheck(Permissions.One | Permissions.Two)]
public class MyController : Controller 
{
  ...
}

这可能吗?

4

1 回答 1

3
public class PermissionCheckAttribute: ActionFilterAttribute
{
   public Permissions Permissions {get;set;}

   public PermissionCheck(Permissions permissions)
   {
           Permissions = permissions;
   }
}

您也可以尝试使用命名参数:

[PermissionsCheck(Permissions = Permissions.None)]

如果您遇到的问题是无法使用多个枚举值,那么您没有使用[Flags]枚举上的属性。 标志

于 2013-09-12T19:17:17.187 回答