Скрытие поставщиков системы проверки подлинности по умолчанию в SharePoint 2010

Исходная статья опубликована в воскресенье 8 мая 2011 г.

Наиболее частый сценарий в SharePoint 2010 подразумевает использование одной зоны для нескольких поставщиков системы проверки подлинности.  Одной из причин, по которой это делается, является желание использовать определенный тип проверки подлинности на основе утверждений, например проверки подлинности на основе форм или SAML, и добавить при этом утверждения Windows, чтобы обеспечить возможность индексации зоны агентом данных SharePoint.  С этим подходом связано две проблемы:

  1. Пользователи видят страницу выбора способа входа, где необходимо выбрать проверку подлинности Windows или другого типа
  2. При добавлении пользователей на сайт (или при фактическом выполнении любой операции, вызывающей средство выбора людей), в средстве выбора людей наряду с пользователями поставщиков системы проверки подлинности на основе утверждений отображаются также пользователи Active Directory.

Что же делать?  Чтобы решить первую проблему, можно создать пользовательскую страницу выбора способа входа.  Я уже рассматривал этот сценарий в записи блога по адресу http://blogs.msdn.com/b/sharepoint_ru/archive/2011/06/29/bypassing-the-multi-authentication-provider-selection-page-in-sharepoint-2010.aspx.  Но как быть с проблемой скрытия пользователей Active Directory в результатах поиска средства выбора людей?  И тут на помощь придет накопительный пакет обновления за апрель 2011 г. ! <ПРИМЕЧАНИЕ. Возможно, в этой связи вы столкнетесь с определенными проблемами в апрельском накопительном пакете обновления — в июньском пакете содержится обновленная версия. Все зависит от конкретного случая, так что вы можете провести тестирование.>   После применения накопительного пакета обновления в классе SPClaimProviderDefinitions появится новое свойство с именем "IsVisible".  Можно просто установить значение "false" для этого свойства в поставщике Active Directory, и он больше не будет отображаться при использовании средства выбора людей.

Далее представлен небольшой фрагмент PowerShell, в котором показано, как это сделать:

$cpm = Get-SPClaimProviderManager
$ad = get-spclaimprovider -identity "AD"
$ad.IsVisible = $false
$cpm.Update()

Следует обратить внимание на следующее:

  1. Команда PowerShell Get-SPClaimProvider фактически возвращает SPClaimProviderDefinition, так что все в порядке.
  2. Используется удостоверение "AD", поскольку это внутреннее имя поставщика Active Directory.

В процессе ограниченного тестирования мне даже не пришлось выполнять команду IISRESET после внесения этих изменений. Можно было просто выполнить вход, после чего Active Directory уже не отображается в списке поставщиков в области слева в средстве выбора людей.  И напротив, после того как я вернул предыдущие настройки, служба Active Directory снова стала отображаться без применения IISRESET.

На данный момент самое большое ограничение в этой связи состоит в том, что данную настройку, видимо, нельзя принудительно применять для отдельной зоны, что было бы идеальным вариантом.  Если я все-таки выясню, что это не так, я обязательно обновлю эту запись.

 

 

 

Это локализованная запись блога. Исходная статья находится по адресу Hiding Default Authentication Providers in SharePoint 2010