是否有强制自定义IActionFilter在自定义IAuthenticationFilter之前执行?
我熟悉有关过滤器排序的以下文档:
http://msdn.microsoft.com/en-us/library/gg416513%28v=vs.98%29.aspx
但我想知道我是否可以改变它。我已经实现了如下所示的自定义IFilterProvider,但是无法在UnitOfWork(IActionFilter)之后执行我的授权过滤器(IAuthorizationFilter)。
public class CustomFilterProvider : IFilterProvider
{
public IEnumerable<Filter> GetFilters(ControllerContext controllerContext, ActionDescriptor actionDescriptor)
{
return new List<Filter>
{
new Filter(new UnitOfWork(), FilterScope.Global, 0),
new Filter(new CustomAuthorization(), FilterScope.Global, 30),
};
}
}
答案 0 :(得分:0)
好吧,你可以做的最好就是在Filter类型中订购过滤器,除非你想覆盖ControllerActionInvoker.InvokeAction方法并完全改变这些东西的默认MVC管道。
我发现过滤器使用起来很不愉快。希望它们在操作之上被实现为装饰器,这样我们就可以更容易地围绕它们包装功能。