Требования к ролям в основной синтаксике ASP.NET по сравнению с разрешениями на роль в пользовательском режиме auth

85
7

Позволяет отойти от идентификатора 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- основанная на авторизации документации.


-


Я пытаюсь выяснить, правильно ли я нахожусь на этом пути. Любые советы или исправления будут полезны.

спросил(а) 2017-10-30T22:27:00+03:00 3 года, 4 месяца назад
1
Решение
87

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


Разрешения для ролей пользователей с использованием Core Identity 3 ASP.NET


Дополнительная информация о претензиях и политиках


https://docs.microsoft.com/en-us/aspnet/core/security/authorization/claims

В основном


    Сделать нового пользователя
    Сделать новую роль
    Сделайте новую заявку
    Добавить претензию к роли
    Добавить пользователя в роль.
    Создать новую политику с требованием (во время настройки служб)
    Проверка авторизации пользователя для политики

Примечание. Не совсем уверен, что это работает с ASP.Net Core 2 или нет или с той версией, которую вы использовали.

ответил(а) 2017-11-10T07:10:00+03:00 3 года, 3 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема