Supongamos que necesitamos realizar lo siguiente en una lista:
- Quebrar la herencia
- Borrar los permisos
- Asignar al grupo "propietarios del sitio" con permisos de colaboración
- Borrar al usuario actual que se asignó en el paso 2 (para esto debemos asegurarnos de que sea administrador de la colección de sitios o esté dentro del grupo de propietarios)
Esta es una posible forma de hacerlo:
SPList listaE = oWebsite.Lists.TryGetList("Entregables");
listaE.BreakRoleInheritance(false);
SPGroup groupAdmin = listaE.ParentWeb.AssociatedOwnerGroup;
if (groupAdmin != null)
{
SPRoleAssignment roleAssignment = new SPRoleAssignment(groupAdmin);
SPRoleDefinition roleDefinition = listaE.ParentWeb.RoleDefinitions.GetByType(SPRoleType.Contributor);
roleAssignment.RoleDefinitionBindings.Add(roleDefinition);
listaE.RoleAssignments.Add(roleAssignment);
listaE.RoleAssignments.RemoveById(listaE.ParentWeb.CurrentUser.ID);
listaE.Update();
}
0 comentarios:
Publicar un comentario