Переопределяющий контроллер AuthorizeAttribute всего для одного действия

Мне украсили контроллер 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();
  }

}
61
задан 15 January 2010 в 14:57

1 ответ

Все, в чем Вы нуждаетесь для переопределения эти [Авторизовывает] от контроллера, для , определенное действие должно добавить

[AllowAnonymous] 

к действию, Вы хотите не быть авторизованными (затем добавляют Ваш пользовательский атрибут как требуется).

См. комментарии / intellisense:

Представляет атрибут, который отмечает контроллеры и действия для пропуска Системы. Сеть. Mvc. AuthorizeAttribute во время авторизации.

1
ответ дан 31 October 2019 в 15:23

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

Похожие вопросы: