客户ActionFilterAttribute onaction执行覆盖从未被调用

本文关键字:调用 覆盖 ActionFilterAttribute onaction 执行 客户 | 更新日期: 2023-09-27 18:12:45

我使用MVC 4。

我编写了这个从System.Web.Mvc.ActionFilterAttribute继承的客户属性

public class AuthorizedAttribute : ActionFilterAttribute
{    
    public AccessLevel Threshold { get; set; }
    public AuthorizedAttribute()
    {
        Threshold = AccessLevel.Anonymous;
    }
    public AuthorizedAttribute(AccessLevel threshold)
    {
        Threshold = threshold;
    }
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        //some actions
        base.OnActionExecuting(filterContext);
    }
}

我把它用在UserController

的动作Manage
public class UserController : Controller
{
    [HttpGet]
    [Authorized(AccessLevel.Administrator)]
    public ViewResult Manage()
    {
         return View();
    }
}

我在我的属性构造器中放置了一个断点,在覆盖的方法OnActionExecuting和我的UserController中,当我在调试模式下通过浏览器调用动作url时,只有我的控制器断点正在触发,我在页面上着陆,即使我没有经过身份验证。我做错了什么?

提前感谢。

客户ActionFilterAttribute onaction执行覆盖从未被调用

您的代码应该可以工作。可能你在路由或其他方面遇到了麻烦。

看来我不是完全在MVC 4,但几乎在MVC 5。我只是需要更新一下我的网站。配置来解决我的问题…我在这里找到了救赎