我在一个方法上使用了几个授权过滤器。
[SessionState(SessionStateBehavior.Required)]
public class AuthenticationFilterAttribute : AuthorizeAttribute {}
[HttpPost]
[AuthenticationFilter]
[ValidateAntiForgeryToken]
public void SaveProgress(string data) {}
它们都是授权过滤器,所以我希望 AuthenicationFilter 在 ValidateAntiForgeryToken 过滤器之前运行。但是 ValidateAntiForgeryToken 在 Authentication 过滤器之前运行。
我知道这可以通过 Order 属性来解决。但我想知道这种行为的原因,并且我想确保它按该顺序执行(在相应的过滤器类型中 - 授权、操作..等等)。