Использование .net Core Identity в моем бизнесе - PullRequest
0 голосов
/ 06 января 2019

У меня есть дерево, которое находится в таблице с именем cartable. Я хочу использовать .net core Identity для предоставления некоторых разрешений этому дереву, например:

  1. Каждая роль имеет некоторые разрешения, такие как «Чтение письма», «Создать письмо», «Удалить письмо» и т. Д.
  2. Каждый пользователь может иметь одну из ролей в таблице узлов Notable of Cartable в конкретная дата, т.е. с 01.06.2009 по 05.10 2020

Не могли бы вы помочь мне, как это реализовать? я должен использовать Claim или мне нужно настроить таблицу UserRole .net Identity

Спасибо

1 Ответ

0 голосов
/ 06 января 2019

Вместо того, чтобы иметь разрешения, основанные непосредственно на ролях, вы можете использовать Авторизация на основе политик

Вы можете определить политику при запуске для каждого из разрешений. Каждой политике может потребоваться роль, поэтому вы все равно будете использовать роли. Каждая политика также может требовать утверждения, где вы сохраняете дату для каждого пользователя, и правило политики может проверять, что дата в утверждении не выходит за пределы диапазона.

В действиях контроллера, соответствующих вашим узлам, вы украшаете метод действия атрибутом Authorize и задаете имя политики, как показано в связанной документации.

[Authorize(Policy = "AtLeast21")]
public class AlcoholPurchaseController : Controller
{
    public IActionResult Login() => View();

    public IActionResult Logout() => View();
 }
...