Класс 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
Замечания
Политика для зоны — это коллекция объектов политики. Назначается объект отдельные политики для каждого пользователя или группы.
Используйте свойство Policies класса SPWebApplication для возврата коллекции политик для веб-приложения, или используйте метод ZonePolicies класса SPWebApplication для возврата коллекции политик для указанной зоны.
Чтобы создать политику, выполните следующие действия:
Используйте метод Add для создания объекта политики в коллекцию политик для веб-приложения.
Используйте метод Add класса SPPolicyRoleCollection для создания объекта роли политики в коллекции роли политики для веб-приложения.
Используйте метод Add класса SPPolicy.SPPolicyRoleBindingCollection для добавления новой роли политики в коллекцию привязок политики для новой политики.
Вызовите метод Update класса SPWebApplication для изменения вступили в силу.
Используйте индексатор, чтобы возвратить одну политику из коллекции. К примеру если коллекции присваивается переменной с именем myPolicies, используйтеindexmyPolicies[] в C# илиindexmyPolicies() в Visual Basic, где index — это имя или номер индекса политики в коллекции.
Примеры
В следующем примере создается новая политика в коллекции политик указанного веб-приложения.
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();
Потокобезопасность
Любые общедоступные элементы static (Shared в Visual Basic) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.