在文档库清理文档角色
-
20-08-2019 - |
题
我一直在开发一个事件处理程序来清理MOSS文档库的新项目的RolesAssignments。我搜索过,可以有效地清除所有的RolesAssignments的方法,但最好的方式,我发现接缝通过RolesAssignments是环和逐个删除?有另一种方式来清理所有RolesAssignments一个项目?
我使用用于清洁RolesAssignments的代码看起来是这样的:
for (int i = ListItem.RoleAssignments.Count - 1; i >= 0; --i)
{
ListItem.RoleAssignments.Remove(i);
}
有没有人对如何处理这个任何想法?
解决方案 2
我找到了答案,把propertie SPListItem.BreakRoleInheritance(假)打破角色继承和删除角色分配。
其他提示
你的问题的体内给出的例子是这样做的最正确的方法。 ResetRoleInheritance和BreakRoleInheritance可能会做你需要什么,但是这是他们执行的操作的副作用。他们的目的不是为了除去RoleAssignments,但角色继承而操作。从MSDN:
ResetRoleInheritance - “删除本地角色分配和恢复到从父对象角色分配“。
BreakRoleInheritance - “创建独特该项目角色分配,而不是从一个亲本继承他们。“
如果角色继承已被打破,你使用特定的角色分配,你应该使用循环删除它们,你在你的问题有。
如何ResetRoleInheritance?这应该清除所有的RoleAssignments的。
不隶属于 StackOverflow