asp.net-mvc - Action 筛选执行顺序

标签 asp.net-mvc asp.net-mvc-3 action-filter authorize-attribute

我创建了两个实现AuthorizeAttribute的类。

一种是全局使用的,我在Global.asax.cs上进行了设置:

filters.Add(new FirstAuthorizeAttribute() { Order = 0 });

另一个称为SecondAuthorizeAttribute,仅在某些操作方法中使用,我将其用作所需方法中的属性。
    [HttpGet]
    [SecondAuthorize]
    public ActionResult LogOut()
    {
        FormsAuthentication.SignOut();
        Session.Clear();
        Session.Abandon();
        return Redirect(Url.Content("~/"));
    }

问题是SecondAuthorizeAttribute总是在FirstAuthorizeAttribute之前执行,而我需要先执行它。该命令没有帮助,我该怎么办?

最佳答案

这是一个长镜头,但是您是否尝试为FirstAuthorizeAttribute使用Global和First值?

http://msdn.microsoft.com/en-us/library/system.web.mvc.filterscope(v=vs.98).aspx

http://blog.rajsoftware.com/post/2011/05/14/MVC3-Filter-Ordering.aspx

关于asp.net-mvc - Action 筛选执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7890610/

相关文章:

c# - 入口后面带有 Azure OAuth 的 ASP.NET Core MVC 进入无限登录循环

asp.net-mvc - 如何在asp.net mvc中处理分页?

asp.net-mvc - ASP.NET MVC - HtmlHelper 和 session 数据

asp.net-mvc - 在依赖解析器内核中找不到 BindFilter 方法

c# - 在 ServiceStack 请求过滤器上传递/公开 T

asp.net-mvc - ActionFilter 的 Order 属性,从最低到最高,反之亦然?

asp.net-mvc - MVC 标签助手不起作用

asp.net-mvc - 如何对 Controller 方法的 HandleError 属性的行为进行单元测试?

c# - MVC3/ Razor 错误 : The view or its master was not found or no view engine supports the searched locations

asp.net-mvc-3 - Azure云服务部署错误: "The instance of SQL Server you attempted to connect to does not support encryption. "