2016-12-07 27 views
2

我是否可以从角色中删除权限,以便用户无法访问敏捷内容类型的@@ historyview?我尝试过“查看历史记录”,“ATContentTypes:查看历史记录”和“CMFEditions:访问以前的版本”。最后一条防止'历史'链接出现在大多数行上,但仍然保留工具栏中的“历史记录”按钮。如何防止已登录的用户访问Plone-5.X中的@@ historyview?

我的网站上安装的产品有:

  • 内容类型(plone.app.contenttypes)1.2.16
  • 敏捷版本 支持1.2.8

感谢。

回答

3

我最近在Plone 5.0.6上注意到了同样的问题。

深知:

  • View History以任何方式
  • ATContentTypes: View history适当的权限不使用Plone的旧Zope2许可(这个许可的情况下按预期工作),但老ATCT/Plone 4种类型。

敏捷内容类型不再使用适当的权限。

第一:对历史视图的访问是公开的(您可以在任何可访问的内容上以匿名方式调用/@@historyview)。这个视图call another subview@@contenthistory)这是公开的,但不可回调。

幸运的是,您将在历史视图中看到的信息受到保护。 内容的fullHistory由两个历史组组成:

让我们回顾一下保护保护:

  • 让链接消失从Plone的UI您可能必须更改权限的地方
  • @@historyview无法访问,你需要用新的许可
  • 覆盖...但你仍然需要采取必要的权限的护理访问历史记录集。
+1

卢卡,首先谢谢你。你似乎总是在回答我的问题。如果我正确理解这一点,那么您就是说没有直接的方法来限制对历史信息的访问,而无需重写模板和Plone中的一些较低级权限检查。在我的特殊用例中,我需要保护某些内容项目的作者身份。我想我需要弄清楚哪个Viewlet模板仍然允许作者信息出现在历史视图的“内容下标题”旁边的信息中。我已经想出了它在所有其他观点中的来源。 –

+0

或多或少:是的。您需要覆盖/猴子修补某些行为,以将保护添加到Plone的这一部分。在我的用例中,我对工作流历史的硬编码保护感到不满(这只是适合的默认工作流程,我需要的是用户无法编辑或查看,但能够查看历史记录),所以我试着简单地更改我关联的权限检查在我的答案,但我失败了:其他内部代码可能检查相同的权限。 –

相关问题