2016-04-29 102 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(); 
相關問題