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.