0

当前场景(Sitecore 9) 用户无法将任何项目发布到任何发布目标,甚至在 Web 数据库上也是如此。当我们在 Sitecore.config 中将 Publishing.CheckSecurity 设置为 true 时,我们会遇到这个问题。

该项目没有工作流,用户拥有该项目的所有(读取、写入、删除、创建)访问权限。

我挖掘了 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”不存在。我已经提供了语言的所有访问权限,但我的项目在发布时仍然被跳过。该函数返回false。

如果我将此设置设为假,那么它工作正常。

请建议我是否为此遗漏了更多配置更改。

4

1 回答 1

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% 20注

当 Publishing.CheckSecurity 设置设置为 true 时,非管理员用户即使拥有所有适当的安全权限也无法发布内容项 206940

要解决此问题,我们建议您将 Sitecore 解决方案升级到 Sitecore XP 9.0 Update 2 (rev. 180604)。

如果不可能,您可以尝试以下补丁:https ://sitecore.box.com/s/swae96e2hhgrbid3keccmvzr4e8kbvr7 要安装补丁,请按照存档内自述文件中的说明进行操作。

于 2019-02-27T11:13:44.850 回答