Есть вебчасть, содержащая внутри себя меню PeopleEditor. Столкнулся с тем что для анонимных пользователей она недоступна:
Спасибо Karel Hájek, который раскопал рефлектором что дело в дополнительной проверке, которая происходит на этапе рендеринга. Для отображения не хватает пермишна “BrowseUserInfo”, который по умолчанию выключен для анонимных юзеров, а веб-интерфейс не позволяет его выдать.
Karel предлагает подредактировать базу данных контента и разрешить анонимные запросы в Active Directory.
Намного проще это сделать через Powershell-скрипт, тем более что редактирование базы контента напрямую это очень bad-practice 🙂
Подключаем консоль, получим текущие разрешения и добавим к ним SPBasePermissions.BrowseUserInfo:
$sharePointSnapin = Get-PSSnapin | Where-Object { $_.Name -eq "Microsoft.SharePoint.PowerShell"} if($sharePointSnapin -eq $null) { Add-PSSnapin Microsoft.SharePoint.PowerShell } $web = Get-SPWeb http://portal/web/ $web.AnonymousPermMask64; # output: ViewListItems, ViewVersions, ViewFormPages, Open, ViewPages, UseClientIntegration $web.AnonymousPermMask64 = "$rights, BrowseUserInfo"; $web.Update();
Теперь PeoplePicker рендерится для всех пользователей(для того чтобы он ещё и работал надо включить запросы в AD):