Клиент 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, чтобы решить мою проблему.. Я нашел свое спасение здесь

Ваш код должен работать. Возможно, у вас проблемы с маршрутизацией и т. Д.

Другие вопросы по тегам