Получить все имена ролей в системе идентификации ASP.NET MVC5
MVC5 использует новую систему идентификации. Как получить все имена ролей?
Я пытаюсь получить доступ к нему через IdentityStore, но без успеха.
Ответ 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 или независимо от реализации хранилища, чтобы напрямую перечислять роли/пользователей.