SecurableObject - Classe
Objet auquel peuvent être affectées des autorisations de sécurité.
Hiérarchie d’héritage
System.Object
Microsoft.SharePoint.Client.ClientObject
Microsoft.SharePoint.Client.SecurableObject
Microsoft.SharePoint.Client.List
Microsoft.SharePoint.Client.ListItem
Microsoft.SharePoint.Client.Web
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 Class SecurableObject _
Inherits ClientObject
'Utilisation
Dim instance As SecurableObject
public class SecurableObject : ClientObject
Remarques
La propriété HasUniqueRoleAssignments n'est pas incluse dans la propriété scalaire par défaut définie pour ce type.
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 SecurableObjectExample
{
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 a securable object to work with (the Announcements list), and use the SecurableObject.BreakPermissions method to break permissions so they can be managed directly.
SecurableObject listSecurable = site.Lists.GetByTitle("Announcements");
listSecurable.BreakRoleInheritance(true, false);
// Use the SecurableObject.roleAssignments property to get the RoleAssignmentCollection for the list.
RoleAssignmentCollection collRoleAssign = listSecurable.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");
}
}
}
Cohérence de thread
Tous les membres statique (Partagé dans Visual Basic)s publics de ce type sont thread-safe. Cela n’est pas garanti pour les membres d’instance.