Sitecore 9: Члены без прав администратора не могут публиковать элементы, когда Publishing.CheckSecurity имеет значение True
Текущий сценарий (Sitecore 9) Пользователь не может публиковать какие-либо элементы в любой цели публикации, даже в веб-базе данных. Мы сталкиваемся с этой проблемой, когда устанавливаем для Publishing.CheckSecurity значение true в Sitecore.config.
Для элемента отсутствует рабочий процесс, пользователь имеет все права доступа (чтение, запись, удаление, создание) для элемента.
Я копался в Sitecore.Kernel Dll и нашел разницу
public bool CanPublish(ID itemId, User user, ref string explanation)
{
Assert.ArgumentNotNull(itemId, “itemId”);
Assert.ArgumentNotNull(user, “user”);
Assert.ArgumentNotNull(explanation, “explanation”);
if (!Settings.Publishing.CheckSecurity)
{
return true;
}
if (!this.CanPublishLanguage(itemId, user, ref explanation))
{
return false;
}
Item sourceItem = this.GetSourceItem(itemId);
if (sourceItem == null)
{
return this.CanPublishDeletion(itemId, user, ref explanation);
}
return this.CanPublishUpdate(sourceItem, user, ref explanation);
}
Ранее (Sitecore 8.1) "CanPublishLanguage" там не было. Я предоставил полный доступ к языку, но все же мои материалы пропускаются при публикации. Функция возвращает ложь.
Если я сделаю этот параметр как ложный, то он работает нормально.
Пожалуйста, предложите, если я пропустил некоторые изменения конфигурации для этого.
1 ответ
Эта проблема связана с Sitecore 9 и исправлена в Sitecore 9.0 Update 2. Поднял эту проблему с Sitecore и получил решение для этого.
Описанная проблема похожа на проблему, которая была исправлена в Sitecore 9.0 Update-2: https://dev.sitecore.net/Downloads/Sitecore%20Experience%20Platform/90/Sitecore%20Experience%20Platform%2090%20Update2/Release%20Notes
Если для параметра Publishing.CheckSecurity задано значение true, пользователи, не являющиеся администраторами, не могут публиковать элементы содержимого, даже если у них есть все соответствующие разрешения безопасности. 206940
Чтобы решить эту проблему, мы предлагаем вам обновить решение Sitecore до версии 2 Sitecore XP 9.0 (версия 180604).
Если это невозможно, вы можете попробовать следующий патч: https://sitecore.box.com/s/swae96e2hhgrbid3keccmvzr4e8kbvr7 Чтобы установить патч, следуйте инструкциям из файла readme внутри архива.