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

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

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

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

Примечание.

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

Для создания поставщика утверждений сначала необходимо создать класс, производный от класса 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)

См. также