SPPolicyCollection 类

表示SPPolicy对象的集合。

继承层次结构

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

命名空间:  Microsoft.SharePoint.Administration
程序集:  Microsoft.SharePoint(位于 Microsoft.SharePoint.dll 中)

语法

声明
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
Public NotInheritable Class SPPolicyCollection _
    Inherits SPAutoSerializingObject _
    Implements IEnumerable
用法
Dim instance As SPPolicyCollection
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public sealed class SPPolicyCollection : SPAutoSerializingObject, 
    IEnumerable

备注

一个区域的策略是策略对象的集合。每个用户或组分配一个单独的策略对象。

使用SPWebApplication类的Policies属性返回集合的 Web 应用程序的策略,或使用SPWebApplication类的ZonePolicies方法,返回指定区域的策略的集合。

若要创建一个策略,请执行以下步骤:

  1. 使用Add方法来创建策略对象中的策略的 Web 应用程序的集合。

  2. 使用SPPolicyRoleCollection类的Add方法来创建策略角色对象中的策略的 Web 应用程序的角色的集合。

  3. 使用SPPolicy.SPPolicyRoleBindingCollection类的Add方法将新策略角色添加到新策略的策略绑定的集合。

  4. 调用Update方法, SPWebApplication类的更改才能生效。

使用索引器从集合中返回单个策略。例如,如果该集合分配给名为myPolicies的变量中,使用myPolicies[index]在 C# 中或在 Visual Basic 中,其中的名称或索引号的策略集合中, index是myPolicies(index) 。

示例

下面的示例创建一个新的策略集合中的指定的 Web 应用程序的策略。

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();

线程安全性

该类型的任何公共 静态 (已共享 在 Visual Basic 中) 成员都是线程安全的。不保证任何实例成员都是线程安全的。

另请参阅

引用

SPPolicyCollection 成员

Microsoft.SharePoint.Administration 命名空间