2017-05-02 88 views
0

是否可以查看Sitecore中特定角色的訪問規則列表?也就是說,有沒有一種方法可以編程式地發揮作用,並查看它創建/刪除/訪問哪些項目?獲取訪問Sitecore角色的規則

我的解決方法是將用戶從組中拉出並查看他們的訪問權限......但我希望有一種更清晰的方式來拉取組本身的訪問權限。

回答

0

是否可以看到Sitecore中特定角色的訪問規則列表?

Access rights are stored in items所以爲了得到所有角色的訪問規則,你必須掃描在數據庫中的所有項目(爲Access Viewer一樣)。

對於每個項目,您可以檢查是否有配置爲特定帳戶(用戶或角色)和訪問權限任何訪問權限:

AccessRuleCollection accessRules = item.Security.GetAccessRules(); 
AccessRightCollection accessRights = AccessRightManager.GetAccessRights(); 
foreach (AccessRight accessRight in accessRights) 
{ 
    AccessPermission accessPermission = 
     accessRules.Helper.GetAccessPermission(account, accessRight, PropagationType.Entity); 

    if (accessPermission != AccessPermission.NotSet) 
    { 
     // do smth here 
    } 
}