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.