Asp.net mvc 应用于控制器/方法的授权过滤器顺序

Asp.net mvc 应用于控制器/方法的授权过滤器顺序,asp.net-mvc,action-filter,Asp.net Mvc,Action Filter,如果我有两个IAuthorizationFilter的自定义实现,并且它们都应用于控制器中的一个方法,那么我们如何确定首先执行哪个过滤器 e、 g 声明: public class MyAuthenticationFilter : FilterAttribute, IAuthorizationFilter public class MyAuthorisationFilter : FilterAttribute, IAuthorizationFilter 适用于: [MyAuthoris

如果我有两个IAuthorizationFilter的自定义实现,并且它们都应用于控制器中的一个方法,那么我们如何确定首先执行哪个过滤器

e、 g

声明:

public class MyAuthenticationFilter : FilterAttribute, IAuthorizationFilter
public class MyAuthorisationFilter : FilterAttribute, IAuthorizationFilter
适用于:

    [MyAuthorisationFilter(AllowedRoles = "Admin")]
    [MyAuthenticationFilter()]
    public class UsersController : Controller
{
...
}
通过实验,它似乎是第一次执行授权之一,因为它被放置在更接近控制器声明。。。我们可以指定顺序还是默认行为


谢谢

使用订单属性:

[MyAuthenticationFilter(Order=1)]
[MyAuthorisationFilter(AllowedRoles = "Admin",Order=2)]
public class UsersController : Controller
{
...
}

有趣!秩序就是秩序!我仍然想知道为什么默认的顺序是下面先执行的顺序…不幸的是,除非使用order属性,否则无法确定执行顺序。