Partager via


RoleDefinitionBindingCollection.Add - Méthode

Ajoute la définition de rôle spécifiée à la collection de liaisons.

Espace de noms :  Microsoft.SharePoint.Client
Assemblys :   Microsoft.SharePoint.Client.Silverlight (dans Microsoft.SharePoint.Client.Silverlight.dll);  Microsoft.SharePoint.Client.Phone (dans Microsoft.SharePoint.Client.Phone.dll)  Microsoft.SharePoint.Client (dans Microsoft.SharePoint.Client.dll)

Syntaxe

'Déclaration
Public Sub Add ( _
    roleDefinition As RoleDefinition _
)
'Utilisation
Dim instance As RoleDefinitionBindingCollection
Dim roleDefinition As RoleDefinition

instance.Add(roleDefinition)
public void Add(
    RoleDefinition roleDefinition
)

Paramètres

Exceptions

Exception Condition
SPException

Ne peut pas accorder un invité rôle ou définition de rôle a déjà été ajoutée. Code d'erreur :-2146232832.

Remarques

Le parent Web de la définition de rôle ajoutée doit être identique à la parent Web des définitions de rôle existant dans la collection de sites. une référence Null (Rien dans Visual Basic)ne doit pas être.

Exemples

Cet exemple de code crée un nouveau niveau d'autorisation et ajoute un utilisateur dans la liste annonces à ce niveau d'autorisation.

using System;
using Microsoft.SharePoint.Client;

namespace Microsoft.SDK.SharePointFoundation.Samples
{
    class RoleDefinitionBindingCollection_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");
        }
    }
}

Voir aussi

Référence

RoleDefinitionBindingCollection classe

RoleDefinitionBindingCollection - Membres

Microsoft.SharePoint.Client - Espace de noms