RoleAssignmentCollection classe
Representa uma coleção de objetos RoleAssignment que define todas as atribuições de função para cada objeto protegível.
Inheritance hierarchy
System.Object
Microsoft.SharePoint.Client.ClientObject
Microsoft.SharePoint.Client.ClientObjectCollection
Microsoft.SharePoint.Client.ClientObjectCollection<RoleAssignment>
Microsoft.SharePoint.Client.RoleAssignmentCollection
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 NotInheritable Class RoleAssignmentCollection _
Inherits ClientObjectCollection(Of RoleAssignment)
'Uso
Dim instance As RoleAssignmentCollection
public sealed class RoleAssignmentCollection : ClientObjectCollection<RoleAssignment>
Comentários
Use a propriedade RoleAssignments da classe SPPermissionInfo, SecurableObject, List, ListItemou Web , para retornar a coleção de atribuições de função para o objeto fornecido.
Para criar uma atribuição de função que não tem nenhum ligações de definição de função, use um construtor de RoleAssignment . Para adicionar definições de função associado a uma atribuição de função, use o método ImportRoleDefinitionBindings . Use o método Add(RoleAssignment) da classe RoleAssignmentCollection para adicionar uma atribuição de função para o conjunto de atribuições de função para o objeto.
Use um indexador para retornar um único item da coleção. Por exemplo, se o conjunto é atribuído a uma variável chamada myRoleAssignments, use myRoleAssignments[index] em c# ou myRoleAssignments(deindex) em Visual Basic, onde index é o número de índice do item na coleção ou uma cadeia de caracteres que contém o nome da definição de funçã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 RoleAssignmentCollectionExample
{
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");
}
}
}
Segurança de thread
Os membros públicos estática (Shared no Visual Basic) desse tipo são seguros para thread. Nenhum membro de instância pode ser garantido como seguro para thread.