什么是防止Sitecore用户意外取消发布主页的最佳方法?

时间:2012-02-23 21:58:02

标签: sitecore

在过去的一年中,我们发生了一些事件,其中用户意外取消发布了“Home”项目(我们网站中的根项目),然后将其发布到我们的“实时”数据库,该数据库将其从该网站。

阻止重要内容从生产Sitecore网站取消发布的最佳方法是什么?

2 个答案:

答案 0 :(得分:5)

您的“简单”安全选项是保护Home项目本身不受编辑,或限制对发布选项的访问。使用标准Sitecore安全性,在主页上禁用特定用户角色的写访问权限,或禁用核心中的发布限制块或按钮的读取访问权限(/ sitecore / content / Applications / Content Editor / Ribbons / Chunks / Publish Restrictions / Change)。

如果你真的不需要管理员编辑Home项目以外的任何人,你也可以从配置功能区保护该项目。

如果你想在Home上禁用发布限制,那可能会更复杂。您最好的方法可能是扩展SetPublishing命令。以下是未经测试的:

  1. 延长Sitecore.Shell.Framework.Commands.SetPublishing
  2. 覆盖Execute(CommandContext)
  3. 检查context.Items[0]以查看它是否是您的主页(GUID或模板ID检查是否为多站点)。如果是这样,中止。如果没有,请致电base.Execute(context)。 (如果需要,您也可以添加Sitecore.Context.User.IsAdministrator支票。)
  4. 在Commands.config中替换item:setpublishing命令。
  5. 根据需要在您最喜欢的反编译器中引用Sitecore.Shell.Framework.Commands.SetPublishing

答案 1 :(得分:0)

您也可以将主项目标记为受保护。你可以仔细检查,但我认为这可以防止任何项目的mod / del。在“配置”选项卡中,请参阅“保护项目”按钮