lunes, 3 de abril de 2017

¿Cómo cambiar permisos a una lista en SharePoint 2010 en C#?

Supongamos que necesitamos realizar lo siguiente en una lista:
  1. Quebrar la herencia
  2. Borrar los permisos
  3. Asignar al grupo "propietarios del sitio" con permisos de colaboración
  4. 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