Freigeben über


SPRoleAssignment-Klasse

Definiert die Rollenzuweisungen für einen Benutzer oder eine Gruppe auf das aktuelle Objekt an.

Vererbungshierarchie

System.Object
  Microsoft.SharePoint.SPRoleAssignment

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaration
Public NotInheritable Class SPRoleAssignment
'Usage
Dim instance As SPRoleAssignment
public sealed class SPRoleAssignment

Hinweise

Um einen Benutzer oder eine von Gruppenberechtigungen für sicherungsfähige Inhalte zu erteilen, Sie ein Role Assignment-Objekt erstellen, legen Sie den Benutzer oder Gruppe für die Rollenzuweisung, fügen Sie die entsprechenden Rollendefinitionen hinzu und Hinzufügen zur Auflistung von Rollenzuweisungen für das sicherungsfähige Objekt, das Objekt.

Verwenden Sie die RoleAssignments -Eigenschaft der ISecurableObject -Schnittstelle oder der SPList, SPListItemoder SPWeb -Klasse, um die Auflistung von Rollenzuweisungen für das angegebene Objekt zurückzugeben.

Verwenden Sie eine Indexerstellung, um ein einzelnes Element aus der Auflistung zurückzugeben. Verwenden Sie beispielsweise, wenn die Auflistung einer Variablen mit dem Namen collRoleAssignmentszugewiesen ist, collRoleAssignments[index] in c# oder collRoleAssignments(index) in Visual Basic index entspricht entweder die Indexnummer des Elements in der Auflistung oder eine Zeichenfolge mit dem Namen der Rollendefinition.

Beispiele

Im folgenden Codebeispiel wird eine neue Rollenzuweisung für einen Benutzer erstellt, die gebundenen Rollendefinitionen für die Rollenzuweisung eine neue Rollendefinition hinzugefügt und fügt dann die neue Rollenzuweisung auf die Auflistung von Rollenzuweisungen für die Website.

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

Hinweis

Bestimmte Objekte, die IDisposable -Schnittstelle implementieren, und müssen Sie vermeiden, diese Objekte im Arbeitsspeicher beibehalten, wenn sie nicht mehr benötigt werden. Informationen zu bewährten Codierung finden Sie unter Disposing Objects.

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Die Threadsicherheit von Instanzmembern ist nicht gewährleistet.

Siehe auch

Referenz

SPRoleAssignment-Member

Microsoft.SharePoint-Namespace