2011-09-30 54 views
0

一位顧客想要擁有它的Plone站點這樣的表現在登錄時必須:的Plone使每一個頁面,但主頁

  • 主要頁面可以通過匿名用戶
  • 你已經註冊並認證可以看出看任何其他頁面
  • 該網站是開放註冊,所以認證和註冊的形式也應作出可見的匿名

如何才能接近這個?

有沒有辦法將python腳本/類/方法/函數掛接到用戶所做的任何請求?覆蓋main_template.pt並添加一個TAL調用到做這些檢查的方法就足夠了?

棘手的部分是,即使匿名人員只能訪問主頁面,主頁面本身也是由其他內容類型組成的,這些內容類型只能由經過驗證的用戶查看(不受工作流程限制) 。

我排除了,也許是一個錯誤?,工作流程,因爲然後一切都應該是私人的,但global_nav是由文件夾,如果採取工作流程的方法,應該是匿名/不可見的文件夾。

乾杯,

+0

您確定global_nav項目被未經授權的用戶看到嗎?如果是這樣,您的目錄中可能會出現一些問題。 AFAIK,這不是Plone的默認行爲。 – albieback

回答

3

試試這個:

  • 的狀態internally published從「公開」狀態添加到您的工作流程
  • 拷貝權限配置到新的狀態,比刪除「查看」的權限從匿名用戶(維護'訪問內容信息',這是關鍵)。然後添加所有需要的轉換。
  • 把你的主頁中的「公共」的狀態
  • 把一切在「內部發布」狀態

這應該工作,因爲如果你在網頁上鍊接的內容的信息,這將工作,但如果有人嘗試訪問他將錯過「查看」權限的內容並將被重定向到登錄。

+0

它似乎沒有工作。 global_nav不顯示具有這種內部發布狀態的文檔。 – gforcada

+0

實際上,在我的公司,我們剛剛爲客戶端設置了一個類似的配置,所以,請相信我它的工作原理:)。該wf狀態中的內容出現在全球導航欄中,當您點擊它們時,您必須登錄。您很可能會自定義您的導航配置,以僅顯示處於公開狀態的內容。在控制面板中檢查它。如果您的配置是標準的,請再次檢查您的自定義工作流程,並記得在您的portal_workflow工具中單擊「更新安全設置」。 –