Еще одно требование: роль администратора должна иметь доступ абсолютно ко всему.
Мне трудно. чтобы увидеть, как реализовать это простое требование кибербезопасности, потому что:
- Если я не добавлю атрибут [Authorize] на контроллер, то он полностью открыт для любого человека с любой ролью. Такое поведение по умолчанию кажется мне чрезвычайно странным, поскольку оно означает, что если мы просто забудем установить атрибут Authorize, мы полностью откроем наш конфиденциальный API для любого пользователя.
- Если я хочу установить " default» для контроллера, а затем переопределить ее на уровне действий, я не могу, потому что они аддитивны.
Я бы хотел вот этого:
Код: Выделить всё
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]
Мобильная версия