RoleAssignmentCollection.Add método
Adiciona uma atribuição de função para a coleção de objetos de atribuição de função.
Namespace: Microsoft.SharePoint.Client
Assemblies: Microsoft.SharePoint.Client.Silverlight (em Microsoft.SharePoint.Client.Silverlight.dll); Microsoft.SharePoint.Client.Phone (em Microsoft.SharePoint.Client.Phone.dll) Microsoft.SharePoint.Client (em Microsoft.SharePoint.Client.dll)
Sintaxe
'Declaração
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.PrincipalUm objeto de Principal que representa um usuário ou grupo que pode ter permissões em Microsoft SharePoint Foundation para a segurança de controle.
roleBindings
Tipo: Microsoft.SharePoint.Client.RoleDefinitionBindingCollectionUm objeto de RoleDefinitionBindingCollection que define as definições de função que estão vinculadas ao objeto de atribuição de função.
Valor retornado
Tipo: Microsoft.SharePoint.Client.RoleAssignment
Um objeto de RoleAssignment que representa a atribuição de função para adicionar.
Exceções
Exceção | Condição |
---|---|
InvalidOperationException | Objeto protegíveis pai não tem permissões exclusivas. |
UnauthorizedAccessException | O usuário atual não tem permissões suficientes para gerenciar permissões no objeto protegíveis pai. |
Comentários
O parâmetro principal não deve ser uma referência nula (Nothing no Visual Basic).
O parâmetro roleBindings não deve ser uma referência nula (Nothing no Visual Basic). Ele deve ter pelo menos um filho na coleção.
Exemplos
Este exemplo de código cria um novo nível de permissão e adiciona um usuário à lista anúncios com nível de permissão.
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");
}
}
}
Ver também
Referência
RoleAssignmentCollection classe