Ролевая авторизация для действий без авторизации для контроллераC#

Место общения программистов C#
Ответить
Anonymous
 Ролевая авторизация для действий без авторизации для контроллера

Сообщение Anonymous »

Я пытаюсь реализовать авторизацию на основе ролей в веб-API ASP.NET в .net 8, и цель состоит в том, чтобы пользователи по умолчанию не имели доступа ни к чему. Их роль должна быть объявлена ​​явно.
Еще одно требование: роль администратора должна иметь доступ абсолютно ко всему.
Мне трудно. чтобы увидеть, как реализовать это простое требование кибербезопасности, потому что:
  • Если я не добавлю атрибут [Authorize] на контроллер, то он полностью открыт для любого человека с любой ролью. Такое поведение по умолчанию кажется мне чрезвычайно странным, поскольку оно означает, что если мы просто забудем установить атрибут Authorize, мы полностью откроем наш конфиденциальный API для любого пользователя.
  • Если я хочу установить " default» для контроллера, а затем переопределить ее на уровне действий, я не могу, потому что они аддитивны.
Я видел здесь различные ответы ТАК справиться с этим, но обычно они либо отвечают на часть проблемы, либо полностью устарели и относятся к ASP MVC, или они занимаются тем, что делают что-то просто общедоступным/непубличным.
Я бы хотел вот этого:

Код: Выделить всё

public class AppController : Controller
{
[Authorize(Roles = "User")]
public IActionResult ListItems() {} // 

Подробнее здесь: [url]https://stackoverflow.com/questions/79292842/role-based-authorization-for-action-without-one-for-controller[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»