Мне украсили контроллер AuthorizeAttribute. Контроллер содержит несколько действий, что все требуют аутентификации кроме одного действия, которое требует некоторой пользовательской аутентификации, обеспеченной CustomAuthorizeAttribute.
Мой вопрос состоит в том, после того как я добавил [Авторизовывают] на уровне контроллера, я могу переопределить его (или удалить его) с [CustomAuthorize] всего на одном действии? Или я должен удалить [Авторизовывают] от уровня контроллера и добавляют его индивидуально к любому действию?
Я прошу просто удобство, потому что я ленив и не хочу украшать каждое действие AuthorizeAttribute.
[Authorize]
public class MyController : Controller {
//requires authentication
public ViewResult Admin() {
return View();
}
//... a lot more actions requiring authentication
//requires custom authentication
[CustomAuthorize] //never invoked as already failed at controller level
public ViewResult Home() {
return View();
}
}
Все, в чем Вы нуждаетесь для переопределения эти [Авторизовывает] от контроллера, для , определенное действие должно добавить
[AllowAnonymous]
к действию, Вы хотите не быть авторизованными (затем добавляют Ваш пользовательский атрибут как требуется).
См. комментарии / intellisense:
Представляет атрибут, который отмечает контроллеры и действия для пропуска Системы. Сеть. Mvc. AuthorizeAttribute во время авторизации.