SPRoleAssignment - Classe
Définit les affectations de rôles pour un utilisateur ou un groupe sur l'objet en cours.
Hiérarchie d’héritage
System.Object
Microsoft.SharePoint.SPRoleAssignment
Espace de noms : Microsoft.SharePoint
Assembly : Microsoft.SharePoint (dans Microsoft.SharePoint.dll)
Syntaxe
'Déclaration
Public NotInheritable Class SPRoleAssignment
'Utilisation
Dim instance As SPRoleAssignment
public sealed class SPRoleAssignment
Remarques
Pour accorder à un utilisateur ou un groupe au contenu sécurisable, vous créez un objet d'affectation de rôle, définissez l'utilisateur ou le groupe pour l'attribution de rôle, ajoutez les définitions de rôle approprié et ajoutez l'objet à la collection des affectations de rôle pour l'objet sécurisable.
Utilisez la propriété RoleAssignments de l'interface ISecurableObject , ou de la classe SPList, SPListItemou SPWeb , pour renvoyer la collection des attributions de rôle pour l'objet donné.
Utiliser un indexeur pour renvoyer un seul élément de la collection. Par exemple, si la collection est assignée à une variable nommée collRoleAssignments, utilisez collRoleAssignments[index] dans C# ou collRoleAssignments(index) dans Visual Basic, où index est le numéro d'index de l'élément dans la collection ou une chaîne qui contient le nom de la définition de rôle.
Exemples
L'exemple de code suivant crée une nouvelle attribution de rôle pour un utilisateur ajoute une nouvelle définition de rôle pour les définitions de rôle dépendant de l'affectation de rôle et puis ajoute la nouvelle affectation de rôles à la collection des affectations de rôle pour le site Web.
using(SPWeb oWebsite = SPContext.Current.Site.AllWebs["Subsite_Name"])
{
SPRoleDefinitionCollection collRoleDefinitions = oWebsite.RoleDefinitions;
SPRoleAssignmentCollection collRoleAssignments = oWebsite.RoleAssignments;
SPRoleAssignment oRoleAssignment = new
SPRoleAssignment("DOMAIN\\User_Alias","User_Alias@Somewhere.com","Displ
ay_Name","Notes");
SPRoleDefinitionBindingCollection collRoleDefinitionBindings = oRoleAssignment.RoleDefinitionBindings;
collRoleDefinitionBindings.Add(collRoleDefinitions["Role_Definition_Name"]);
collRoleAssignments.Add(oRoleAssignment);
}
Using oWebsite As SPWeb = SPContext.Current.Site.AllWebs("Subsite_Name")
Dim collRoleDefinitions As SPRoleDefinitionCollection = oWebsite.RoleDefinitions
Dim collRoleAssignments As SPRoleAssignmentCollection = oWebsite.RoleAssignments
Dim oRoleAssignment As New SPRoleAssignment("DOMAIN\User_Alias","User_Alias@Somewhere.com","Displ ay_Name","Notes")
Dim collRoleDefinitionBindings As SPRoleDefinitionBindingCollection = oRoleAssignment.RoleDefinitionBindings
collRoleDefinitionBindings.Add(collRoleDefinitions("Role_Definition_Name"))
collRoleAssignments.Add(oRoleAssignment)
End Using
Notes
Certains objets implémentent l'interface IDisposable , et vous devez éviter de conserver ces objets dans la mémoire après que qu'ils ne sont plus nécessaires. Pour plus d'informations sur les bonnes pratiques de codage, consultez Disposing Objects.
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.