Sitecore获得所有角色

时间:2016-04-29 08:17:36

标签: sitecore sitecore7 sitecore7.2

我需要一份所有角色的列表。 我已经看到我可以通过域获取所有角色或用户获得所有角色。

我认为我可以获取所有域名,然后循环获取每个域名的所有角色。

但似乎你只能通过名字获得一个域名,我不能对它们进行硬编码,因为它会不时出现。

那么,任何想法如何获得所有安全角色?作为字符串的名称就足够了。

感谢。

2 个答案:

答案 0 :(得分:5)

您可以使用:

Roles.GetAllRoles()
来自命名空间 Sitecore.Security.Accounts

如果您想从角色中获取所有用户,您可以使用:

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

答案 1 :(得分:0)

接受的答案并不完全正确。 GetAllRoles()方法位于RolesInRolesManager类中。它可以如下调用:

using Sitecore.Security.Accounts;
...
IEnumerable<Role> roleList = RolesInRolesManager.GetAllRoles();