Поделиться через


Класс 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 для возврата коллекции политик для указанной зоны.

Чтобы создать политику, выполните следующие действия:

  1. Используйте метод Add для создания объекта политики в коллекцию политик для веб-приложения.

  2. Используйте метод Add класса SPPolicyRoleCollection для создания объекта роли политики в коллекции роли политики для веб-приложения.

  3. Используйте метод Add класса SPPolicy.SPPolicyRoleBindingCollection для добавления новой роли политики в коллекцию привязок политики для новой политики.

  4. Вызовите метод 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) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.

См. также

Справочные материалы

Элементы SPPolicyCollection

Пространство имен Microsoft.SharePoint.Administration