Подтвердить что ты не робот

Получить все имена ролей в системе идентификации ASP.NET MVC5

MVC5 использует новую систему идентификации. Как получить все имена ролей?

Я пытаюсь получить доступ к нему через IdentityStore, но без успеха.

4b9b3361

Ответ 1

Я обнаружил, что вы можете использовать DbContext через экземпляр IdentityStore и использовать известный метод .Set<T>().

Это работает для меня:

var identityStore = new IdentityStore();
foreach (var role in identityStore.DbContext.Set<Role>())
{
    Debug.WriteLine(role.Name);
}

Ответ 2

Это немного более интуитивно понятный

var roles = dbContext.Roles.OrderBy(x => x.Name);

Ответ 3

В настоящее время невозможно использовать методы стиля перечисления через интерфейсы идентификации, которые будут применяться в будущих сценариях администрирования обновлений (post 1.0 RTM), поэтому нет возможности перечислять всех пользователей или роли через API-интерфейсы Identity. Тем не менее, вы всегда можете опуститься до EF или независимо от реализации хранилища, чтобы напрямую перечислять роли/пользователей.