Partager via


RoleAssignmentCollection.Add - Méthode

Ajoute une attribution de rôle à la collection d'objets d'attribution de rôle.

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 Function Add ( _
    principal As Principal, _
    roleBindings As RoleDefinitionBindingCollection _
) As RoleAssignment
'Utilisation
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
)

Paramètres

  • principal
    Type : Microsoft.SharePoint.Client.Principal

    Un objet Principal qui représente un utilisateur ou un groupe qui peut être affecté des autorisations dans Microsoft SharePoint Foundation à la sécurité du contrôle.

Valeur renvoyée

Type : Microsoft.SharePoint.Client.RoleAssignment
Un objet RoleAssignment qui représente l'attribution de rôle à ajouter.

Exceptions

Exception Condition
InvalidOperationException

L'objet sécurisables parent n'a pas d'autorisations uniques.

UnauthorizedAccessException

L'utilisateur actuel ne dispose pas des autorisations suffisantes pour gérer les autorisations sur l'objet sécurisables parent.

Remarques

Le paramètre principal ne doit pas être une référence Null (Rien dans Visual Basic).

Le paramètre roleBindings ne doit pas être une référence Null (Rien dans Visual Basic). Il doit avoir au moins un enfant dans la collection de sites.

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 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");
        }
    }
}

Voir aussi

Référence

RoleAssignmentCollection classe

RoleAssignmentCollection - Membres

Microsoft.SharePoint.Client - Espace de noms