del método RoleAssignmentCollection.Add
Agrega una asignación de roles a la colección de objetos de asignación de roles.
Espacio de nombres: Microsoft.SharePoint.Client
Ensamblados: Microsoft.SharePoint.Client.Silverlight (en Microsoft.SharePoint.Client.Silverlight.dll); Microsoft.SharePoint.Client.Phone (en Microsoft.SharePoint.Client.Phone.dll) Microsoft.SharePoint.Client (en Microsoft.SharePoint.Client.dll)
Sintaxis
'Declaración
Public Function Add ( _
principal As Principal, _
roleBindings As RoleDefinitionBindingCollection _
) As RoleAssignment
'Uso
Dim instance As RoleAssignmentCollection
Dim principal As Principal
Dim roleBindings As RoleDefinitionBindingCollection
Dim returnValue As RoleAssignment
returnValue = instance.Add(principal, _
roleBindings)
public RoleAssignment Add(
Principal principal,
RoleDefinitionBindingCollection roleBindings
)
Parámetros
principal
Tipo: Microsoft.SharePoint.Client.PrincipalUn objeto Principal que representa un usuario o grupo que se puede asignar permisos en Microsoft SharePoint Foundation para controlar la seguridad.
roleBindings
Tipo: Microsoft.SharePoint.Client.RoleDefinitionBindingCollectionObjeto RoleDefinitionBindingCollection que define las definiciones de función que se enlazan al objeto de asignación de roles.
Valor devuelto
Tipo: Microsoft.SharePoint.Client.RoleAssignment
Objeto RoleAssignment que representa la asignación de roles a agregar.
Excepciones
Excepción | Condición |
---|---|
InvalidOperationException | El objeto protegibles primario no tiene permisos exclusivos. |
UnauthorizedAccessException | El usuario actual no tiene permisos suficientes para administrar los permisos de objeto protegibles principal. |
Comentarios
El parámetro principal no debe ser una referencia null (Nothing en Visual Basic).
El parámetro roleBindings no debe ser una referencia null (Nothing en Visual Basic). Debe tener al menos un elemento secundario de la colección.
Ejemplos
Este ejemplo de código crea un nuevo nivel de permisos y agrega un usuario a la lista anuncios con ese nivel de permisos.
using System;
using Microsoft.SharePoint.Client;
namespace Microsoft.SDK.SharePointFoundation.Samples
{
class RoleAssignmentCollection_AddExample
{
static void Main()
{
string siteUrl = "http://MyServer/sites/MySiteCollection";
ClientContext clientContext = new ClientContext(siteUrl);
Site collSite = clientContext.Site;
Web site = clientContext.Web;
// Set up permissions.
BasePermissions permissions = new BasePermissions();
permissions.Set(PermissionKind.ViewListItems);
permissions.Set(PermissionKind.AddListItems);
permissions.Set(PermissionKind.EditListItems);
permissions.Set(PermissionKind.DeleteListItems);
// Create a new role definition.
RoleDefinitionCreationInformation rdcInfo = new RoleDefinitionCreationInformation();
rdcInfo.Name = "Manage List Items";
rdcInfo.Description = "Allows a user to manage list items";
rdcInfo.BasePermissions = permissions;
RoleDefinition roleDef = collSite.RootWeb.RoleDefinitions.Add(rdcInfo);
// Create a new RoleDefinitionBindingCollection object.
RoleDefinitionBindingCollection collRDB = new RoleDefinitionBindingCollection(clientContext);
// Add the role to the collection.
collRDB.Add(roleDef);
// Get the list to work with and break permissions so its permissions can be managed directly.
List targetList = site.Lists.GetByTitle("Announcements");
targetList.BreakRoleInheritance(true, false);
// Get the RoleAssignmentCollection for the target list.
RoleAssignmentCollection collRoleAssign = targetList.RoleAssignments;
// Add the user to the target list and assign the user to the new RoleDefinitionBindingCollection.
RoleAssignment rollAssign = collRoleAssign.Add(site.CurrentUser, collRDB);
clientContext.ExecuteQuery();
Console.WriteLine("Security modified");
}
}
}
Vea también
Referencia
clase RoleAssignmentCollection