SPA - Управление авторизацией на основе ресурсов и ролей
Я разрабатываю одностраничное приложение с использованием ReactJS + .Net Core 5, которое имеет несколько точных проверок авторизации. Итак, в моем приложении есть пользователи, роли и роли пользователей, которые связывают эти две информации. Затем у меня есть таблица разрешений и RolesPermissions, чтобы связать разрешения (или действия) для каждой роли. Но эта диаграмма не может работать правильно, потому что некоторые роли адаптированы к ресурсам (поэтому я могу быть редактором ресурса A и читателем ресурса B, где A и B - ресурсы одного типа). Подводя итог, можно сказать, что некоторые роли напрямую связаны с ресурсом.
Как я могу управлять авторизацией в этом случае? Я читал об авторизации на основе ресурсов (https://docs.microsoft.com/en-us/aspnet/core/security/authorization/resourcebased?view=aspnetcore-2.1&tabs=aspnetcore2x#operational-requirements), но в этом случае дизайн разрешений на стороне базы данных был бы бесполезен, и мне пришлось бы написать много кода C # для управления каждой возможностью (много if / else). Я ищу некоторые альтернативы ... также потому, что после правильного управления разрешениями на стороне бэкэнда мне нужно передать информацию во внешний интерфейс, чтобы отделить макет (например, кнопка «Создать» не должна отображаться, если вы являются только читателем на определенном ресурсе).