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


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

Дата последнего изменения: 23 марта 2011 г.

Применимо к: SharePoint Foundation 2010

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

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

Утверждения могут отображаться в элементе управления "Выбор людей" при выборе утверждений. Выбор утверждений позволяет приложению выбирать утверждения в элементе управления "Выбор людей", например при настройке безопасности сайта SharePoint или службы SharePoint. Данная функциональная возможность позволяет выполнять поиск, разрешать и отображать утверждения.

ПримечаниеПримечание

Под элементом управления "Выбор людей" с возможностью выбора утверждений иногда подразумевают элемент управления Выбор утверждений.

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

СоветСовет

Пример кода и дополнительные сведения о классе SPClaimProvider и его членах см. в описании SPClaimProvider.

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

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

Обязательное свойство.

Свойство 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)

См. также

Концепции

Поставщик утверждений