SPRoleCollection-Klasse
HINWEIS: Diese API ist veraltet.
Verwenden Sie stattdessen die neuen Klassen SPRoleDefinition und SPRoleAssignment , Definieren von Rollen und Benutzer zuweisen. Weitere Informationen finden Sie unter Changes in the Authorization Object Model. (In Windows SharePoint Services 2.0, SPRoleCollection dargestellt eine Auflistung von SPRole -Objekten und wird für die Abwärtskompatibilität beibehalten.)
Vererbungshierarchie
System.Object
Microsoft.SharePoint.Administration.SPAutoSerializingObject
Microsoft.SharePoint.SPBaseCollection
Microsoft.SharePoint.SPRoleCollection
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaration
<ObsoleteAttribute("Use the SPRoleDefinitionCollection class instead")> _
Public Class SPRoleCollection _
Inherits SPBaseCollection
'Usage
Dim instance As SPRoleCollection
[ObsoleteAttribute("Use the SPRoleDefinitionCollection class instead")]
public class SPRoleCollection : SPBaseCollection
Hinweise
Verwenden Sie die Roles -Eigenschaft der SPUser, SPGroupoder SPWeb -Klasse, um ein SPRoleCollection -Objekt zurückzugeben, die die Auflistung der Rollen für Benutzer, Gruppe oder Website darstellt. Verwenden Sie eine Indexerstellung, um eine einzelne Rolle aus der Auflistung zurückzugeben. Verwenden Sie beispielsweise, wenn die Auflistung einer Variablen mit dem Namen collRoleszugewiesen ist, collRoles[index] in c# oder collRoles(index) in Visual Basic index entweder die Indexnummer der Rolle in der Auflistung oder den Anzeigenamen der Websitegruppe entspricht.
Beispiele
Im folgenden Codebeispiel wird für alle Unterwebsites unter der Website einer bestimmten Rolle alle Benutzer einer Website hinzugefügt.
Dim site As SPWeb =
SPContext.Current.Site.AllWebs("Site_Name")
Dim subSites As SPWebCollection = site.Webs
Dim users As SPUserCollection = site.Users
Dim user As SPUser
For Each user In users
Dim subSite As SPWeb
For Each subSite In subSites
Dim role As SPRole = subSite.Roles("Role_Name")
role.AddUser(user)
Next subSite
Next user
using(SPWeb oWebsite = SPContext.Current.Site.AllWebs["Site_Name"])
{
SPWebCollection collWebsites = oWebsite.Webs;
SPUserCollection collUsers = oWebsite.Users;
foreach (SPUser oUser in collUsers)
{
foreach (SPWeb oWebsiteCurrent in collWebsites)
{
SPRole oRole = oWebsite.Roles["Role_Name"];
oRole.AddUser(oUser);
oWebsiteCurrent.Dispose();
}
}
}
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.