Freigeben über


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.

Siehe auch

Referenz

SPRoleCollection-Member

Microsoft.SharePoint-Namespace