SPRoleCollection - 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, SPRoleCollection représenté une collection d'objets SPRole et est conservé pour la compatibilité descendante).
Hiérarchie d’héritage
System.Object
Microsoft.SharePoint.Administration.SPAutoSerializingObject
Microsoft.SharePoint.SPBaseCollection
Microsoft.SharePoint.SPRoleCollection
Espace de noms : Microsoft.SharePoint
Assembly : Microsoft.SharePoint (dans Microsoft.SharePoint.dll)
Syntaxe
'Déclaration
<ObsoleteAttribute("Use the SPRoleDefinitionCollection class instead")> _
Public Class SPRoleCollection _
Inherits SPBaseCollection
'Utilisation
Dim instance As SPRoleCollection
[ObsoleteAttribute("Use the SPRoleDefinitionCollection class instead")]
public class SPRoleCollection : SPBaseCollection
Remarques
Utilisez la propriété Roles de la classe SPUser, SPGroupou SPWeb pour renvoyer un objet SPRoleCollection qui représente la collection de rôles d'un utilisateur, un groupe ou un site Web. Pour renvoyer un seul rôle à partir de la collection, utilisez un indexeur. Par exemple, si la collection est assignée à une variable nommée collRoles, utilisez collRoles[index] dans C# ou collRoles(index) dans Visual Basic, où index est le numéro d'index du rôle dans la collection ou le nom complet du groupe de sites.
Exemples
L'exemple de code suivant ajoute tous les utilisateurs d'un site à un rôle spécifié pour tous les sous-sites sous le site.
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();
}
}
}
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.