Создание поставщика утверждений в 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)