在过去的一年中,我们发生了一些事件,其中用户意外取消发布了“Home”项目(我们网站中的根项目),然后将其发布到我们的“实时”数据库,该数据库将其从该网站。
阻止重要内容从生产Sitecore网站取消发布的最佳方法是什么?
答案 0 :(得分:5)
您的“简单”安全选项是保护Home项目本身不受编辑,或限制对发布选项的访问。使用标准Sitecore安全性,在主页上禁用特定用户角色的写访问权限,或禁用核心中的发布限制块或按钮的读取访问权限(/ sitecore / content / Applications / Content Editor / Ribbons / Chunks / Publish Restrictions / Change)。
如果你真的不需要管理员编辑Home项目以外的任何人,你也可以从配置功能区保护该项目。
如果你想在Home上禁用发布限制,那可能会更复杂。您最好的方法可能是扩展SetPublishing命令。以下是未经测试的:
Sitecore.Shell.Framework.Commands.SetPublishing
Execute(CommandContext)
context.Items[0]
以查看它是否是您的主页(GUID或模板ID检查是否为多站点)。如果是这样,中止。如果没有,请致电base.Execute(context)
。 (如果需要,您也可以添加Sitecore.Context.User.IsAdministrator
支票。)item:setpublishing
命令。根据需要在您最喜欢的反编译器中引用Sitecore.Shell.Framework.Commands.SetPublishing
。
答案 1 :(得分:0)
您也可以将主项目标记为受保护。你可以仔细检查,但我认为这可以防止任何项目的mod / del。在“配置”选项卡中,请参阅“保护项目”按钮