SPPermissionCollection - Classe

Remarque : cette API est désormais obsolète.

Utilisez à la place, les nouvelles classes SPRoleDefinition et SPRoleAssignment pour définir des rôles et de leur affecter des utilisateurs. Pour plus d'informations, consultez Changes in the Authorization Object Model. (Dans Windows SharePoint Services 2.0, SPRole représenté une collection d'objets SPPermission et est conservé pour la compatibilité descendante).

Hiérarchie d’héritage

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

Espace de noms :  Microsoft.SharePoint
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

Syntaxe

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

Remarques

Utilisez la propriété Permissions de la SPList ou le SPWeb de classe pour renvoyer la collection d'autorisations pour une liste ou d'un site. Pour créer une autorisation, utilisez la méthode le Add ou le AddCollection de SPPermissionCollection.

Un indexeur permet de renvoyer une autorisation unique de la collection. Par exemple, si la collection est assignée à une variable nommée collPermissions, utilisez collPermissions[index] dans C# ou collPermissions(index) dans Visual Basic, où index est le numéro d'index de l'autorisation dans la collection ou l'objet SPMember pour un utilisateur ou un groupe qui possède l'autorisation pour la liste ou du site.

Exemples

L'exemple de code suivant utilise la classe SPPermissionCollection pour afficher le nom et les autorisations pour chaque utilisateur qui a accès à une liste spécifiée. L'exemple effectue une itération à travers tous les utilisateurs d'un site et par l'intermédiaire de toutes les autorisations pour une liste ; Si un nom d'utilisateur correspond à l'ID de membre d'une autorisation de liste, les informations de l'utilisateur s'affiche.

Cet exemple requiert les directives using (Imports dans Visual Basic) pour le [Microsoft.SharePoint] et [Microsoft.SharePoint.Utilities] espaces de noms.

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>");
            }
        }
    }
}

Notes

Certains objets implémentent l'interface IDisposable , et vous devez éviter de conserver ces objets dans la mémoire après que qu'ils ne sont plus nécessaires. Pour plus d'informations sur les bonnes pratiques de codage, consultez Disposing Objects.

Cohérence de thread

Tous les membres statique (Partagé dans Visual Basic)s publics de ce type sont thread-safe. Cela n’est pas garanti pour les membres d’instance.

Voir aussi

Référence

SPPermissionCollection - Membres

Microsoft.SharePoint - Espace de noms