내가 누락 된 부분이 있는지 알고 싶습니다. 다음은 어떻게 처리할까요? SPFolder의 경우 해당 항목의 사용 권한 (SPFolder.Item)을 변경합니다. 그래서 SPFolder 권한을 관리하는 것이 SPListItem 권한을 관리하는 것으로 생각됩니다. SPListItem에 대해서는 SPListItem.BreakRoleInheritance()
을 사용하여 역할 상속을 중단 한 다음 RoleAssignments
컬렉션에서 역할을 추가 및 제거합니다.Sharepoint : SPFolder 및 SPListItem 권한을 프로그래밍 방식으로 관리하는 방법
RoleAssignments가 (상속 외에) SPListItem의 사용 권한을 관리하는 유일한 방법이고 역할없이 개별 사용 권한을 관리하는 방법이 있는지 궁금합니다. EffectiveBasePermissions 속성도 있지만 잘 모르겠습니다.
그래서 은 RoleAssignments 컬렉션과 별도로 SPListItem 권한을 관리하는 다른 방법 (상속 외에)이 있습니까?
@Edit : 또한 AllRolesForCurrentUser가 있지만 RoleAssignments 속성에서 동일한 정보를 얻을 수 있다고 생각합니다.이 부분은 편의를위한 것입니다.
는@Edit :로 플로
folder.ParentWeb.AllowUnsafeUpdates = true;
설정과의 인수 BreakRoleInheritance
를 사용에 문제가있는 그의 대답에 노트 '거짓'(즉, 부모 개체의 권한을 복사하지 않고). 당신이 안전하지 않은 업데이트를 허용 한 후 예상대로
folder.Item.BreakRoleInheritance(false);
BreakRoleInheritance
AllowUnsafeUpdates
을 다시 '거짓'으로 재설정합니다. 나는이 알고
한 가지 해결 방법은 수동으로 다음과 같이 후 BreakRoleInheritance (사실) 상속 된 권한을 삭제하는 것입니다 :
folder.Item.BreakRoleInheritance(false);
while(folder.Item.RoleAssignments.Count > 0) {
folder.Item.RoleAssignments.Remove(0);
}
감사합니다!
당신이 맞아 :) 나는 똑같은 문제를 겪었고 또한이 게시물을 보았습니다. – axk