我使用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时,只有我的控制器断点正在触发,我在页面上着陆,即使我没有经过身份验证。我做错了什么?
提前感谢。
您的代码应该可以工作。可能你在路由或其他方面遇到了麻烦。
看来我不是完全在MVC 4,但几乎在MVC 5。我只是需要更新一下我的网站。配置来解决我的问题…我在这里找到了救赎