2016-04-29 9 views
0

Мне нужен список всех ролей. Я видел, что я могу получить все Роли по доменам или всем Ролям Пользователем.Sitecore получить все Роли

Я думал, что могу получить все Домены, а затем сделать цикл, чтобы получить все Роли для каждого Домена.

Но, похоже, вы можете получить домен только по имени, и я не могу его жестко кодировать, потому что время от времени будут появляться новые.

Итак, любая идея, как я могу получить все Роли безопасности? Имена в виде строки будут достаточно.

Спасибо.

ответ

4

Вы можете использовать:

Roles.GetAllRoles() 

из пространства имен Sitecore.Security.Accounts

Если вы хотите, чтобы все пользователи из роли, которую вы можете использовать:

IEnumerable<User> _roleUsers = Sitecore.Security.Accounts.RolesInRolesManager.GetUsersInRole(Role.FromName("Your role name"), true); 
+0

Спасибо! Я смотрел в пространстве имен Sitecore.Security, я забыл о System.Web.Security. Думаю, вы об этом говорите? – Bgl86

+1

Sitecore.Security.Accounts - это пространство имен, я обновил ответ –

+0

Привет, я использую Sitecore 7.2, и я не могу найти этот метод в пространстве имен Sitecore.Security.Accounts. – Bgl86

0

Принятый ответ не совсем прав. Метод GetAllRoles() находится в классе RolesInRolesManager. Его можно назвать следующим:

using Sitecore.Security.Accounts; 
... 
IEnumerable<Role> roleList = RolesInRolesManager.GetAllRoles(); 
Смежные вопросы