2013-04-17 6 views
1

У меня есть веб-приложение SharePoint (2010), которое настроено на основе проверки подлинности на основе утверждений, с двумя поставщиками заявок (Azure ACS и ADFS). Из центра администрирования SP -> Управление веб-приложениями -> Пользовательская политика -> Добавить пользователей, я могу искать пользователей в разных провайдерах идентификации (я считаю, что элемент управления называется «People Picker»).SharePoint: Как разрешить/искать претензии с помощью PowerShell?

Возможно ли использовать аналогичную функциональность, аналогичную функции выбора людей в PowerShell?

В принципе, то, что мне нужно что-то вроде этого:

$claim = Resolve-Claim "[email protected]" 

, который будет возвращать «полное» имя пользователя (включая префикс претензий), например, i: 05.t | acs | [email protected], выполнив поиск всех поставщиков заявок, добавленных в SharePoint.

Возможно ли это? Или, по крайней мере, можно ли перечислять поставщиков претензий и искать по каждому индивидуально (что также приемлемо)?

+0

В отличие от форумов, мы не используем «Спасибо» или «Любая помощь оценена» или подписи на [so]. См. «[Должны ли« Привет »,« спасибо », теги и приветствия удалены из сообщений?] (Http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be -removed-from-posts). –

+0

Отмечено. Спасибо за головы. – Hallgeir

ответ

1

я нашел какое-то решение ...

$claimManager = New-Object Microsoft.SharePoint.Administration.Claims.SPClaimProviderManager 

$providers = @() 

foreach ($cp in $claimManager.TrustedClaimProviders) 
{ 
    $providers += $cp 
} 
$provider = $providers[0] 
$userId = $provider.Search("http://localhost", $null, $UserName, $null, 1).Children[0].EntityData[0].Key 

Основные проблемы с этим решением:

провайдеры, проходящие через, например, Azure ACS фактически не ищет, существует ли идентификатор пользователя, но просто возвращает заявку. Это дает мне префикс для этого провайдера ID, но я не знаю, действительно ли он действителен, поэтому я не знаю, следует ли мне продолжать поиск других поставщиков идентификаторов или просто остановиться.

Но я не уверен, является ли это проблемой конфигурации в ACS, или это является неотъемлемой слабостью в реализации метода поиска для поставщиков удостоверений в SharePoint.