Проверка одной из нескольких политик с атрибутом Authorize в ASP.NET Core Identity ⇐ C#
-
Гость
Проверка одной из нескольких политик с атрибутом Authorize в ASP.NET Core Identity
Я настроил стандартную систему аутентификации в приложении ASP.NET Core.
Пользователи, роли, RoleClaims(действуют как разрешения)
В Startup.cs я создаю политику для каждой роли и каждого разрешения. Предполагая, что это даст мне полную гибкость в моих представлениях, чтобы я мог сказать, что я хочу, чтобы эта кнопка показывала, является ли пользователь частью роли, которая имеет утверждение УдалитьКустомер, или принадлежит ли пользователь роли Суперпользователя.
Как выполнить условие ИЛИ, используя атрибут Authorize. Например, я хочу, чтобы политика SuperuserRole имела полные права на все на моем сайте.
Предположим, что у меня есть метод действия:
[Authorize(Policy = "EditCustomer")] Для этого потребуется, чтобы вошедшему в систему пользователю была назначена роль с утверждением: Edit.Customer, поскольку я создаю политику для утверждения Edit.Customer. Все это работает нормально, но как бы сказать, что я бы хотел, чтобы любой пользователь с ролью суперпользователя имел доступ к методу действия EditCustomer. Суперпользователь находится в базе данных как роль и дополнительно добавляется как политика RequireSuperUser.
Я настроил стандартную систему аутентификации в приложении ASP.NET Core.
Пользователи, роли, RoleClaims(действуют как разрешения)
В Startup.cs я создаю политику для каждой роли и каждого разрешения. Предполагая, что это даст мне полную гибкость в моих представлениях, чтобы я мог сказать, что я хочу, чтобы эта кнопка показывала, является ли пользователь частью роли, которая имеет утверждение УдалитьКустомер, или принадлежит ли пользователь роли Суперпользователя.
Как выполнить условие ИЛИ, используя атрибут Authorize. Например, я хочу, чтобы политика SuperuserRole имела полные права на все на моем сайте.
Предположим, что у меня есть метод действия:
[Authorize(Policy = "EditCustomer")] Для этого потребуется, чтобы вошедшему в систему пользователю была назначена роль с утверждением: Edit.Customer, поскольку я создаю политику для утверждения Edit.Customer. Все это работает нормально, но как бы сказать, что я бы хотел, чтобы любой пользователь с ролью суперпользователя имел доступ к методу действия EditCustomer. Суперпользователь находится в базе данных как роль и дополнительно добавляется как политика RequireSuperUser.
Мобильная версия