2016-12-07 28 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的這一部分。在我的用例中,我對工作流歷史的硬編碼保護感到不滿(這只是適合的默認工作流程,我需要的是用戶無法編輯或查看,但能夠查看歷史記錄),所以我試着簡單地更改我關聯的權限檢查在我的答案,但我失敗了:其他內部代碼可能檢查相同的權限。 –

相關問題