Freigeben über


SPPermissionCollection-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, SPRole dargestellt eine Auflistung von SPPermission -Objekten und wird für die Abwärtskompatibilität beibehalten.)

Vererbungshierarchie

System.Object
  Microsoft.SharePoint.Administration.SPAutoSerializingObject
    Microsoft.SharePoint.SPBaseCollection
      Microsoft.SharePoint.SPPermissionCollection

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

Syntax

'Declaration
<ObsoleteAttribute("Use the SPRoleAssignmentCollection class instead")> _
Public Class SPPermissionCollection _
    Inherits SPBaseCollection
'Usage
Dim instance As SPPermissionCollection
[ObsoleteAttribute("Use the SPRoleAssignmentCollection class instead")]
public class SPPermissionCollection : SPBaseCollection

Hinweise

Verwenden Sie die Permissions -Eigenschaft der SPList oder SPWeb -Klasse, um die Auflistung von Berechtigungen für eine Liste oder einer Website zurückzugeben. Um eine Berechtigung zu erstellen, verwenden Sie die Add oder AddCollection -Methode des SPPermissionCollection.

Verwenden Sie eine Indexerstellung, um eine einzelne Berechtigung aus der Auflistung zurückzugeben. Verwenden Sie beispielsweise, wenn die Auflistung einer Variablen mit dem Namen collPermissionszugewiesen ist, collPermissions[index] in c# oder collPermissions(index) in Visual Basic, wobei index entweder die Indexnummer der Berechtigung in der Auflistung oder das SPMember -Objekt für einen Benutzer oder eine Gruppe mit der Berechtigung für die Liste oder Website ist.

Beispiele

Im folgenden Codebeispiel wird mithilfe die SPPermissionCollection -Klasse, an den Namen und die Berechtigungen für jeden Benutzer, der Zugriff auf eine angegebene Liste hat. Das Beispiel durchläuft über alle Benutzer einer Website und über alle Berechtigungen für eine Liste; Wenn eine Benutzer-ID die Element-ID einer Liste Berechtigung übereinstimmt, werden Informationen für den Benutzer angezeigt.

Dieses Beispiel erfordert using Direktiven (Imports in Visual Basic) für die [Microsoft.SharePoint] und [Microsoft.SharePoint.Utilities] Namespaces hinzu.

Dim siteCollection As SPSite = SPContext.Current.Site
Dim site As SPWeb = siteCollection.AllWebs("Site_Name")
Dim list As SPList = site.Lists("List_Name")
Dim perms As SPPermissionCollection = list.Permissions
Dim users As SPUserCollection = site.Users

Dim user As SPUser

For Each user In  users

    Dim perm As SPPermission

    For Each perm In  perms

        If user.ID = perm.Member.ID Then

            Response.Write("User: " & SPEncode.HtmlEncode(user.Name) _
                & " Permissions: " & perm.PermissionMask.ToString() 
                & "<BR>")

        End If

    Next perm

Next user
SPSite oSiteCollection = SPContext.Current.Site;
using(SPWeb oWebsite = oSiteCollection.AllWebs["Site_Name"])
{
    SPList oList = oWebsite.Lists["List_Name"];
    SPPermissionCollection collPermissions = oList.Permissions;
    SPUserCollection collUsers = oWebsite.Users;

    foreach (SPUser oUser in collUsers)
    {

        foreach (SPPermission oPermission in collPermissions)
        {

            if (oUser.ID == oPermission.Member.ID)
            {
                 Response.Write("User: " + 
                    SPEncode.HtmlEncode(oUser.Name) + 
                    " Permissions: " +   
                    oPermission.PermissionMask.ToString() + 
                    "<BR>");
            }
        }
    }
}

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

SPPermissionCollection-Member

Microsoft.SharePoint-Namespace