Администратору фермы отказано в доступе к обновлению функции SiteCollection
-
16-10-2019 - |
Вопрос
Мое решение содержит функции области семейства сайтов и было развернуто в семействах сайтов, на которые администратору фермы не были предоставлены какие-либо явные разрешения.
Если администратор фермы пытается зайти на семейство веб-сайтов в браузере, он видит сообщение об ошибке "Отказано в доступе".
Теперь администратору фермы необходимо развернуть обновление для моего Решения.
Он успешно вызвал командлет powershell Update-SPSolution
когда администратор фермы вызывает SPContentDatabase.QueryFeatures("Site",$true)
он возвращает функцию, которую необходимо обновить на сайте, на доступ к которому у него нет прав.
Однако, если администратор фермы вызовет SPFeature.Upgrade($true)
затем выдается сообщение об ошибке "отказано в доступе".
Как должно работать обновление функций семейства веб-сайтов?
Должен ли администратор фермы делегировать обновление функции семейства веб-сайтов владельцу семейства веб-сайтов?
Должен ли администратор фермы пытаться выдавать себя за администратора семейства веб-сайтов?
Есть ли какой-нибудь пользователь, которого я могу повысить до уровня, который гарантированно сможет вызывать обновление функции семейства сайтов?
Решение 2
Мы обнаружили это, используя следующий код PowerShell
[Microsoft.SharePoint.SPSecurity]::RunWithElevatedPrivileges( {
$site = get-spsite "http://localhost/nonfarmadminsitecollection"
})
$elevatedSite = new-object Microsoft.SharePoint.SPSite([Guid]$site.ID,$site.SystemAccount.UserToken)
Затем мы сможем обновить функции в $elevatedSite.
Другие советы
Администраторы фермы по умолчанию не имеют доступа к содержимому Сайта.
Обновление и активация функций семейства сайтов обычно делегируются администраторам семейства сайтов (я думаю).