Подтвердить что ты не робот

Авторизация ASP.NET MVC

Я хочу, чтобы роли по умолчанию для моего класса контроллера были "Администраторы, редакторы содержимого"

[Authorize(Roles = "Administrators, Content Editor")]

Я сделал это, украсив контроллер вышеуказанным атрибутом. Однако есть одно действие, которое я хочу быть доступным для всех (а именно "Вид" ). Как я могу reset роли, чтобы каждый (включая полностью неавторизованных пользователей) имел доступ к этому действию.

Примечание. Я знаю, что я мог бы украсить каждое действие другого действия с помощью атрибута authorize выше, но я не хочу делать это все время. Я хочу, чтобы все действия контроллеров были недоступны по умолчанию, поэтому, если кто-то добавляет действие, он должен принять решение, чтобы сделать его доступным для широкой публики.

4b9b3361

Ответ 2

Вы можете поместить атрибут Authorize в методы действия. Не только на уровне класса.

Итак, переместите атрибут из класса контроллера только в методы действий, которые вы хотите защитить.

Ответ 3

Единственным решением, о котором я могу думать до сих пор, является создание и регистрация другого контроллера, так что у меня есть один для анонимного доступа, а один для авторизованного доступа, но который не такой элегантный, как мне бы хотелось.