Создание поставщика утверждений в SharePoint

Узнайте, как создать и реализовать поставщика утверждений SharePoint, который соответствует требованиям по дополнению и отбору утверждений.

Поставщик утверждений выдает утверждения и упаковывает их в маркеры безопасности. У поставщика утверждений две роли: расширение и выбор.

Расширение утверждения позволяет приложению для расширения дополнительных утверждений в маркер пользователя. Например с управлением Windows вход, службы каталогов Active Directory можно дополнить все группы безопасности пользователя в маркер пользователя Windows. С помощью на основе утверждений вход приложение управления (CRM) отношения клиента можно дополнить роли из базы данных CRM. Благодаря использованию этих утверждений в маркер пользователя, ресурсы авторизации для этих утверждений. То есть эти утверждения используются для определения, имеет ли конкретному пользователю доступ к определенным ресурсам. Утверждения могут отображаться в элементе управления средства выбора людей посредством выбора утверждений. Выбора позволяет утверждений приложения для отображения на основе утверждений в средстве выбора людей, например, при настройке параметров безопасности сайта SharePoint или службы SharePoint. Эта функция позволяет указывать поиска, разрешения и понятное отображаемое утверждений.

Примечание.

[!Примечание] "Выбор людей" с возможностью выбора утверждений иногда называется "Выбор утверждений". Дополнительные сведения см. в разделе планирование средства выбора и поставщика утверждений Люди.

Для создания поставщика утверждений сначала необходимо создать класс, производный от класса SPClaimProvider.

Совет: Пример кода и дополнительные сведения о классе SPClaimProvider и его членах см. в разделе SPClaimProvider . Пошаговые руководства, советы и примеры кода, в разделе утверждения и безопасность: технические статьи и примеры кода на MSDN.

Обязательные реализации

Перечисленные ниже методы и свойства являются обязательными при создании поставщика утверждений.

Обязательный

Следующее свойство Name является обязательным. Его имя должно быть уникальным в пределах фермы.


public abstract String Name

Требуется для элемента управления "Выбор утверждений"

Утверждения могут отображаться в элементе управления "Выбор людей" при выборе утверждений. Следующие методы в классе SPClaimProvider являются обязательными для реализации выбора утверждений в элементе управления выбора людей.


protected abstract void FillSchema(SPProviderSchema schema);
     protected abstract void FillClaimTypes(List<String> claimTypes);
     protected abstract void FillClaimValueTypes(List<String> claimValueTypes);
     protected abstract void FillEntityTypes(List<String> entityTypes);

Требуется для расширения утверждений

При добавлении дополнительных утверждений в маркер безопасности пользователя выполняется расширение утверждений. Если вы хотите дополнить утверждения, необходимо реализовать следующие методы в классе SPClaimProvider .


public abstract bool SupportsEntityInformation
      protected abstract void FillClaimsForEntity(Uri context, SPClaim entity, List<SPClaim> claims);

Требуется для отображения иерархии в левой панели элемента управления "Выбор утверждений"

Если требуется отобразить иерархию в левой области средства выбора утверждений, необходимо реализовать следующие методы в классе SPClaimProvider .


public abstract bool SupportsHierarchy
     protected abstract void FillHierarchy(Uri context, String[] entityTypes, String hierarchyNodeID, int numberOfLevels, bool includeEntityData, SPProviderHierarchyTree hierarchy);

Требуется для разрешения утверждений в элементе управления "Ввод" элемента управления "Выбор утверждений"

Чтобы иметь возможность разрешать утверждения с помощью элемента управления вводом средства выбора утверждений, необходимо реализовать следующие методы в классе SPClaimProvider .


public abstract bool SupportsResolve
     protected abstract void FillResolve(Uri context, String[] entityTypes, String resolveInput, List<PickerEntity> resolved);
     protected abstract void FillResolve(Uri context, String[] entityTypes, SPClaim resolveInput, List<PickerEntity> resolved);

Требуется для поиска утверждений в средстве выбора утверждений

Чтобы иметь возможность искать утверждения в средства выбора утверждений, необходимо реализовать следующее свойство и метод в классе SPClaimProvider .


public abstract bool SupportsSearch
     protected abstract void FillSearch(Uri context, String[] entityTypes, String searchPattern, String hierarchyNodeID, int maxCount, SPProviderHierarchyTree searchTree);

Полезный вспомогательный метод

Вы также можете реализовать вспомогательный метод для создания объектов SPClaim .

Полезный вспомогательный метод для создания объектов SPClaim

Ниже приведен вспомогательный метод, который можно реализовать для создания объектов SPClaim .


protected SPClaim CreateClaim(String claimType, String value, String valueType)

См. также