Folder in einer Dokumentbibliothek mit eigenen Berechtigungen
MOSS MOSS 2007 Sharepoint
Wenn man programmatisch einem Sharepoint-Folder eine eigene Berechtigung geben möchte, hat sich folgender Code bei mir bewährt:
SPUser u = <User>;
SPFolder folder = folders.Add(txtFolderName.Text);
folder.Item.BreakRoleInheritance(true);
SPRoleAssignment ra = new SPRoleAssignment((SPPrincipal) u);
ra.RoleDefinitionBindings.Add(web.RoleDefinitions["Lesen"]);
folder.Item.RoleAssignments.Add(ra);
folder.Item.Update();
folder.Update();
SPRoleAssignment rs = folder.Item.RoleAssignments.GetAssignmentByPrincipal((SPPrincipal) u);
rs.RoleDefinitionBindings.RemoveAll();
rs.RoleDefinitionBindings.Add(web.RoleDefinitions["Neue Berechtigung"]);
rs.Update();
Warum man genau zuerst dass Item, dann den Folder und dann das RoleAssignment noch einmal machen muß, konnte ich in der Doku leider nicht finden.
Aber es geht
Gruß JJR
Kategorie Wenn man programmatisch einem Sharepoint-Folder eine eigene Berechtigung geben möchte, hat sich folgender Code bei mir bewährt:
SPUser u = <User>;
SPFolder folder = folders.Add(txtFolderName.Text);
folder.Item.BreakRoleInheritance(true);
SPRoleAssignment ra = new SPRoleAssignment((SPPrincipal) u);
ra.RoleDefinitionBindings.Add(web.RoleDefinitions["Lesen"]);
folder.Item.RoleAssignments.Add(ra);
folder.Item.Update();
folder.Update();
SPRoleAssignment rs = folder.Item.RoleAssignments.GetAssignmentByPrincipal((SPPrincipal) u);
rs.RoleDefinitionBindings.RemoveAll();
rs.RoleDefinitionBindings.Add(web.RoleDefinitions["Neue Berechtigung"]);
rs.Update();
Warum man genau zuerst dass Item, dann den Folder und dann das RoleAssignment noch einmal machen muß, konnte ich in der Doku leider nicht finden.
Aber es geht
Gruß JJR