SPPolicyCollection - Classe

Représente une collection d'objets SPPolicy .

Hiérarchie d’héritage

System.Object
  Microsoft.SharePoint.Administration.SPAutoSerializingObject
    Microsoft.SharePoint.Administration.SPPolicyCollection

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

Syntaxe

'Déclaration
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
Public NotInheritable Class SPPolicyCollection _
    Inherits SPAutoSerializingObject _
    Implements IEnumerable
'Utilisation
Dim instance As SPPolicyCollection
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public sealed class SPPolicyCollection : SPAutoSerializingObject, 
    IEnumerable

Remarques

La stratégie pour une zone est une collection d'objets de stratégie. Chaque utilisateur ou groupe est affecté à un objet de stratégie distincte.

Utilisez la propriété Policies de la classe SPWebApplication pour renvoyer la collection de règles pour une application Web, ou la méthode ZonePolicies de la classe SPWebApplication pour renvoyer la collection des stratégies pour une zone spécifiée.

Pour créer une stratégie, effectuez les opérations suivantes :

  1. Utilisez la méthode Add pour créer un objet de stratégie de la collection de stratégies pour l'application Web.

  2. Utilisez la méthode Add de la classe SPPolicyRoleCollection pour créer un objet de stratégie de rôle au sein de la collection de rôles de stratégie pour l'application Web.

  3. Utilisez la méthode Add de la classe SPPolicy.SPPolicyRoleBindingCollection pour ajouter le nouveau rôle de la stratégie à la collection de liaisons de stratégie pour la nouvelle stratégie.

  4. Appelez la méthode Update de la classe SPWebApplication pour que les modifications soient prises en compte.

Pour renvoyer une seule stratégie à partir de la collection, utilisez un indexeur. Par exemple, si la collection est assignée à une variable nommée myPolicies, utilisez myPolicies[index] dans C# ou myPolicies(index) dans Visual Basic, où index est le nom ou le numéro d'index de la stratégie de la collection.

Exemples

L'exemple suivant crée une nouvelle stratégie au sein de la collection de règles d'une application Web spécifiée.

Dim uri = New Uri("http://MyServer")
Dim webApplication As SPWebApplication = SPWebApplication.Lookup(uri)
Dim policyCollection As SPPolicyCollection = webApplication.Policies
Dim policyRoles As SPPolicyRoleCollection = webApplication.PolicyRoles

Dim policy As SPPolicy = policyCollection.Add("UserAlias", "MyPolicy")

Dim policyRole As SPPolicyRole = policyRoles.Add("MyPolicyRole", "My description.", SPBasePermissions.ViewPages Or SPBasePermissions.ViewListItems, SPBasePermissions.AddAndCustomizePages Or SPBasePermissions.AddListItems)

policy.PolicyRoleBindings.Add(policyRole)

webApplication.Update()
System.Uri uri = new Uri("http://MyServer");
SPWebApplication webApplication = SPWebApplication.Lookup(uri);
SPPolicyCollection policyCollection = webApplication.Policies;
SPPolicyRoleCollection policyRoles = webApplication.PolicyRoles;

SPPolicy policy = policyCollection.Add("UserAlias","MyPolicy");

SPPolicyRole policyRole = policyRoles.Add("MyPolicyRole", "My description.", SPBasePermissions.ViewPages | SPBasePermissions.ViewListItems, SPBasePermissions.AddAndCustomizePages | SPBasePermissions.AddListItems);

policy.PolicyRoleBindings.Add(policyRole);

webApplication.Update();

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

SPPolicyCollection - Membres

Microsoft.SharePoint.Administration - Espace de noms