Permissions 如何防止登录用户访问Plone-5.X中的@@historyview?

Permissions 如何防止登录用户访问Plone-5.X中的@@historyview?,permissions,plone,plone-5.x,Permissions,Plone,Plone 5.x,是否存在可以从角色中删除的权限,以便用户无法访问@historyview以获取灵活内容类型?我尝试过“查看历史记录”、“ATContentTypes:查看历史记录”和“CMFEditions:访问以前的版本”。最后一个选项可防止“历史记录”链接出现在大多数by行上,但仍保留工具栏中的“历史记录”按钮 我的网站上安装的产品包括: 内容类型(plone.app.contenttypes)1.2.16 灵活版本控制 支持1.2.8 谢谢。我最近在Plone 5.0.6上注意到了同样的问题 要知道:

是否存在可以从角色中删除的权限,以便用户无法访问@historyview以获取灵活内容类型?我尝试过“查看历史记录”、“ATContentTypes:查看历史记录”和“CMFEditions:访问以前的版本”。最后一个选项可防止“历史记录”链接出现在大多数by行上,但仍保留工具栏中的“历史记录”按钮

我的网站上安装的产品包括:

  • 内容类型(plone.app.contenttypes)1.2.16
  • 灵活版本控制 支持1.2.8

谢谢。

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

要知道:

  • 查看历史记录
    是Plone未以任何方式使用的旧Zope2权限
  • ATContentTypes:View history
    是正确的权限(该权限按预期工作),但对于旧的ATCT/Plone 4类型
灵巧内容类型不再为此使用适当的权限

第一:对历史视图的访问是公开的(您可以对任何可访问的内容以匿名方式调用
/@@historyview
)。此视图(
@@contenthistory
)是公共的,但在某种程度上不可调用

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

  • ,受权限
    请求审阅
    审阅门户内容
  • ,受
    CMFEditions:Access previous versions
    权限保护
让我们回顾一下:

  • 要让链接从Plone UI中消失,您可能必须在某个地方更改权限
  • 要使
    @@historyview
    不可访问,您需要使用新的权限覆盖它
  • …但您仍然需要注意访问历史记录集所需的权限

卢卡,首先谢谢你。你似乎总是在回答我的问题。如果我理解正确的话,您的意思是,如果不重写模板和Plone中的一些较低级别权限检查,就无法直接限制对历史信息的访问。在我的特定用例中,我需要保护某些内容项上的作者身份。我想我需要弄清楚哪个viewlet模板仍然允许作者信息显示在历史视图的“以下内容标题”署名信息中。我已经从所有其他视图中找出了它的来源。或多或少:是的。您需要覆盖/修补某些行为,以向Plone的这一部分添加/更改保护。在我的用例中,我不喜欢工作流历史记录的硬编码保护(它只适合默认工作流,我需要的是用户不能编辑或查看历史记录),所以我尝试简单地更改我在回答中链接的权限检查,但失败了:其他内部代码可能会检查相同的权限。