Утверждения на основе ролей в Identity Server 3 + AspNet Identity

Я использую ASP.NET 5 beta 8 и Identity Server 3 с реализацией пользовательской службы AspNet Identity. По умолчанию AspNet Identity предоставляет таблицу AspNetRoleClaims, которая подходит для моего случая. У меня разные роли в моей системе, и каждая роль имеет некоторые разрешения, и я хочу реализовать их как утверждения. Таким образом, у каждой роли будет набор требований.

Я не нашел примеров использования таблицы AspNetRoleClaims в Интернете, поэтому, может быть, было бы лучше просто создать свои собственные таблицы и реализацию?

Как лучше всего обрабатывать разрешения для ролей?

Заранее спасибо! Сергий.


person Serhiy Zhdynyak    schedule 25.11.2015    source источник


Ответы (1)


Сергей,

Я искал что-то подобное, и похоже, что вся информация о ролях, включая RoleClaims, обрабатывается в диспетчере ролей с помощью метода GetClaimsAsync, AddClaimAsync, RemoveClaimAsync. Вы можете посмотреть код идентификатора ASP здесь: https://github.com/aspnet/Identity/blob/dev/src/Microsoft.AspNet.Identity/RoleManager.cs

В Менеджере ролей я могу управлять ролями. Примеры:

Создать роль

await RoleManager.CreateAsync(new IdentityRole { Name = "Test" });

Создать заявку на роль

var roleResult = await RoleManager.AddClaimAsync(role, new Claim("Dashboard", "Read"));

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

http://leastprivilege.com/2015/10/12/the-state-of-security-in-asp-net-5-and-mvc-6-authorization/

Надеюсь, это поможет.

person nickgru    schedule 03.12.2015