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方法,返回指定区域的策略的集合。
若要创建一个策略,请执行以下步骤:
使用Add方法来创建策略对象中的策略的 Web 应用程序的集合。
使用SPPolicyRoleCollection类的Add方法来创建策略角色对象中的策略的 Web 应用程序的角色的集合。
使用SPPolicy.SPPolicyRoleBindingCollection类的Add方法将新策略角色添加到新策略的策略绑定的集合。
调用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 中) 成员都是线程安全的。不保证任何实例成员都是线程安全的。