2014-10-07 68 views
1

我想創建無法通過給定角色可視化的網頁內容。Liferay中給定角色的私人WebContent

例如,假設我有normal-user和plus-user角色。 我想創建一個只有加號用戶才能看到的Web內容。

如果我創建了一個WebContent併爲其啓用了「查看」權限,並且僅將此WebContent顯示在WebContent顯示portlet中,那麼普通用戶可以查看它。這是預期的行爲?我已經禁用了每個角色的默認View權限,甚至默認的guest角色。

我一定錯過了一些東西,因爲我相信這應該是一個非常標準和明顯的特徵。

感謝

更新 那麼它似乎我是誤解我怎麼能看到我的變化的影響的方式。

看來,我描述的配置工作。雖然,只有在使用Web Content List portlet列出Web內容時纔會隱藏Web內容。如果我單獨設置Web內容顯示portlet以顯示私人內容,即使沒有權限,任何角色都可以看到它。同樣的情況發生如果我將網址分享給網頁內容。

所以我現在的問題是:忽略視圖權限是Web Content Display portlet的默認行爲?使用Asset Publisher portlet時,不會發生這種情況。如果角色沒有查看該內容的權限,則在列出和查看時,Web內容將處於隱藏狀態。

回答

1

這應該是正確的步驟,以達到你的目的:

  1. 拒絕所有網頁內容的客串角色,和你的普通用戶角色(控制面板>角色>遊客的任何許可|普通用戶>定義權限
  2. 可以肯定,一個接一個,該網頁內容沒有授權的客人和普通用戶可以看到

如何從現在起,在您的門戶網站中,除非您爲他指定特定角色,否則任何人都無法看到任何網絡內容。

如果可以,我建議你不要在這個較高的通用級別上處理問題,而應該在較低的特定級別上處理問題,例如,您可以直接在Web內容模板中檢查用戶的角色,並且僅當該用戶具有您顯示內容的適當角色。

另一個解決方法是將網頁內容放在一個私人頁面中,這樣您就可以確保只有網站會員才能看到它。

編輯

你的問題似乎很奇怪,所以我開始了我的地方門戶,它的一個Liferay的6.2。我只拒絕了我的單個網頁內容的查看權限(圖片1),而訪客用戶無法看到它(圖片2)。 PS所有其他權限是默認的。

我編輯也是我原來的答案,因爲錯了,第一點它的謊言!

重新檢查您的所有門戶權限,因爲它比我們想象的容易! :)

enter image description here enter image description here

+0

是在什麼網頁內容層面和模板級別設置權限之間的區別?忽略禁用訪客角色視圖權限的事實會阻止任何人默認可視化Web內容。 PS:我已經用新信息更新了我的問題 – 2014-10-07 13:45:29

+0

對不起,我不是想通過模板設置角色,而是檢查權限(或者更簡單地說,如果用戶具有特定角色)。在velocity/freemarker模板中,您可以實例化門戶中可用的所有類,以便您可以使用所有方法來讀取用戶的角色,循環角色,並且如果用戶有正用戶,則顯示內容,否則顯示錯誤消息相似的東西。 – 2014-10-07 13:56:54

+0

是的,你是對的。但是我想實現用Liferay的默認功能隱藏內容的行爲。無需進行一些自定義代碼更改。最起碼到現在。我很難相信這不是一個明顯的特徵。雖然它不能解決我的問題,但我會評價你的答案:) – 2014-10-07 14:00:40