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

Bob*_*ack 0 sitecore

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

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

tec*_*414 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. item:setpublishing在Commands.config中替换命令.

Sitecore.Shell.Framework.Commands.SetPublishing根据需要在您最喜欢的反编译器中引用.