Клиент ActionFilterAttribute OnActionExecuting переопределение никогда не вызывается
Я использую 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);
}
}
И я использую это на действии Manage
в моем UserController
public class UserController : Controller
{
[HttpGet]
[Authorized(AccessLevel.Administrator)]
public ViewResult Manage()
{
return View();
}
}
Я поставил точку останова в своем конструкторе атрибута в переопределенном методе OnActionExecuting
и в моем UserController
и когда я вызываю URL-адрес действия через браузер в режиме отладки, срабатывает только точка останова моего контроллера, и я попадаю на страницу, даже если я не аутентифицирован. Что я делаю не так?
Заранее спасибо.
2 ответа
Похоже, что я не был полностью в MVC 4, но почти в MVC 5. Мне просто нужно сделать небольшое обновление в моем web.config, чтобы решить мою проблему.. Я нашел свое спасение здесь
Ваш код должен работать. Возможно, у вас проблемы с маршрутизацией и т. Д.