Administración de usuarios y grupos de SharePoint
En este artículo se muestra cómo agregar o quitar grupos y usuarios dentro de una colección de sitios determinada. En los ejemplos de código de este artículo se agregan usuarios y grupos y, a continuación, se les proporcionan niveles de permisos de acceso a SharePoint. Estas acciones de nivel de permisos de usuario y grupo se implementan mediante métodos de extensión en el ejemplo PnP Core.GroupManagement .
Antes de empezar
Para empezar, descargue el complemento de ejemplo Core.GroupManagement del proyecto Office 365 Developer Patterns and Practices en GitHub.
Nota:
El código de este artículo se proporciona tal cual, sin garantía de ningún tipo, expresa o implícita, incluidas las garantías implícitas de aptitud para un propósito particular, comerciabilidad o ausencia de infracción.
Agregar y quitar grupos y usuarios
En el ejemplo siguiente se muestra cómo agregar grupos y agregar usuarios a grupos.
cc.Load(cc.Web, web => web.CurrentUser);
cc.ExecuteQuery();
Microsoft.SharePoint.Client.User currentUser = cc.Web.CurrentUser;
if (!cc.Web.GroupExists("Test"))
{
Group group = cc.Web.AddGroup("Test", "Test group", true);
cc.Web.AddUserToGroup("Test", currentUser.LoginName);
}
En el siguiente ejemplo se quita un grupo.
if (cc.Web.GroupExists("Test"))
{
cc.Web.RemoveGroup("Test");
}
En el siguiente ejemplo se quitan los usuarios de los grupos.
cc.Load(cc.Web, web => web.CurrentUser);
cc.ExecuteQuery();
Microsoft.SharePoint.Client.User currentUser = cc.Web.CurrentUser;
if (cc.Web.GroupExists("Test"))
{
if (cc.Web.IsUserInGroup("Test", currentUser.LoginName))
{
cc.Web.RemoveUserFromGroup("Test", currentUser.LoginName);
}
}
Agregar nivel de permiso al grupo o usuario
En el ejemplo siguiente se agrega un nivel de permiso a un grupo.
if (cc.Web.GroupExists("Test"))
{
cc.Web.AddPermissionLevelToGroup("Test", RoleType.Contributor);
}
En el siguiente ejemplo se agrega un nivel de permiso a un usuario.
cc.Load(cc.Web, web => web.CurrentUser);
cc.ExecuteQuery();
Microsoft.SharePoint.Client.User currentUser = cc.Web.CurrentUser;
cc.Web.AddPermissionLevelToUser(currentUser.LoginName, RoleType.Reader);
Quitar el nivel de permiso del grupo o usuario
En el ejemplo siguiente se quita un nivel de permiso de un grupo.
if (cc.Web.GroupExists("Test"))
{
cc.Web.RemovePermissionLevelFromGroup("Test", RoleType.Reader);
}
En el siguiente ejemplo se quita un nivel de permiso de un usuario.
cc.Load(cc.Web, web => web.CurrentUser);
cc.ExecuteQuery();
Microsoft.SharePoint.Client.User currentUser = cc.Web.CurrentUser;
cc.Web.RemovePermissionLevelFromUser(currentUser.LoginName, RoleType.Reader);