是否可以查看Sitecore中特定角色的访问规则列表?也就是说,有没有办法以编程方式获取角色并查看它创建/删除/无论访问哪些项目?
我的解决方法是从群组中提取用户并查看其访问权限......但我希望可能有更简洁的方法来提取群组本身的访问权限。
答案 0 :(得分: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
}
}