Требования к ролям в основной синтаксике ASP.NET по сравнению с разрешениями на роль в пользовательском режиме auth
Позволяет отойти от идентификатора ASP.NET за секунду и позволяет сказать, что мы создаем пользовательскую систему аутентификации/авторизации для нашего приложения.
Он будет содержать следующие таблицы для полной гибкости:
Пользователи
Роли
Полномочия
UserRoles
RolePermissions
С вышесказанным мы можем иметь полноценный раздел управления пользователями приложения, в котором администратор может сказать, что пользователь A имеет роль B, которая имеет разрешения C, D, F.
Вышеприведенное всегда работало для меня в прошлом, но теперь переключает передачу на приложение ASP.NET Core MVC с использованием идентификатора ASP.NET.
Пытаясь использовать все, что Microsoft дает вам с помощью Core Identity ASP.NET в UserManager, я хотел бы иметь возможность достичь вышеуказанного, но способ MVC Core Identity MVC.
Что я знаю:
Я могу легко использовать UserManager для реализации страниц CRUD для пользователей, ролей и ролей пользователей.
Что я пытаюсь выяснить:
Как я могу воспроизвести одно и то же поведение "какие разрешения/действия выполняет роль?" концепция.
Моя первоначальная догадка заключается в том, что вы будете использовать Претензии в сочетании с Ролями. Претензии присваиваются Ролям, то есть RoleClaims, а затем роли назначаются пользователям.
Таким образом, я мог бы просто проверить наличие ролей над методами Controllers/Action с тегами Authorize. И дополнительно продвигайтесь еще дальше на уровне страницы, говоря "hide/show the delete", если у роли пользователя нет претензии "DeleteProduct". Как будто это view- основанная на авторизации документации.
-
Я пытаюсь выяснить, правильно ли я нахожусь на этом пути. Любые советы или исправления будут полезны.
У этого человека есть потенциальное решение для вашей конкретной проблемы.
Разрешения для ролей пользователей с использованием Core Identity 3 ASP.NET
Дополнительная информация о претензиях и политиках
https://docs.microsoft.com/en-us/aspnet/core/security/authorization/claims
В основном
- Сделать нового пользователя
Сделать новую роль
Сделайте новую заявку
Добавить претензию к роли
Добавить пользователя в роль.
Создать новую политику с требованием (во время настройки служб)
Проверка авторизации пользователя для политики
Примечание. Не совсем уверен, что это работает с ASP.Net Core 2 или нет или с той версией, которую вы использовали.
- Вопросы
- Asp.net-core-identity
- Требования к ролям в основной синтаксике ASP.NET по сравнению с разрешениями на роль в пользовательском режиме auth