Partager via


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.

Voir aussi

Référence

SPRoleAssignment - Membres

Microsoft.SharePoint - Espace de noms