【发布时间】:2013-11-01 00:00:57
【问题描述】:
我在一个方法上使用了几个授权过滤器。
[SessionState(SessionStateBehavior.Required)]
public class AuthenticationFilterAttribute : AuthorizeAttribute {}
[HttpPost]
[AuthenticationFilter]
[ValidateAntiForgeryToken]
public void SaveProgress(string data) {}
它们都是授权过滤器,所以我希望 AuthenicationFilter 在 ValidateAntiForgeryToken 过滤器之前运行。但是 ValidateAntiForgeryToken 在 Authentication 过滤器之前运行。
我知道这可以通过 Order 属性来解决。但我想知道这种行为的原因,并且我想确保它按该顺序执行(在相应的过滤器类型中 - 授权、操作..等等)。
【问题讨论】:
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
标签: c# asp.net-mvc filter authorize-attribute