2013-04-18 15 views
3

在Liferay中,當頁面添加到站點時,默認情況下會給予訪客角色VIEW權限。添加站點頁面時,自動從訪客角色中移除VIEW權限

Permission window for a Site Page

有什麼辦法(通過配置或通過鉤子或其他),以便在默認情況下,當一個新的網頁添加到網站VIEW許可是來賓角色禁用禁用此?

+0

那麼,當頁面[Liferay低級別佈局佈局]作爲Public頁面添加時,Liferay會爲佈局模型的sites.xml中分配默認猜測權限。基本上有兩種方法可以通過ext開發避免它.1。從sites.xml中刪除guest默認權限。2.通過將addGroupPermissions布爾值設置爲false,通過覆蓋addLayout方法在ext中更改LayoutLocalServiceImpl中的代碼。 –

回答

5

那麼,當Liferay頁面[Layout-in Liferay低級別上下文]被添加爲Public頁面時,Liferay將爲sites.xml中的GUEST角色分配默認權限。

基本上有,以避免它通過電話分機發展兩種方法:通過具有addGroupPermissions布爾值作爲false

  1. sites.xml
  2. 變化碼移除訪客默認權限在LayoutLocalServiceImpl在內線通過壓倒addLayout方法。
+0

現在需求是如何從已分配來賓角色視圖權限的頁面動態地刪除來賓角色。 我的意思是有什麼辦法從所有已創建的頁面中刪除以前分配的來賓角色的查看權限,而不是從管理權限選項卡手動刪除來賓角色的查看權限。 – suyash

+1

嗯。爲此,您可以編寫一些實用程序portlet,它可以獲取所有公共頁面並使用「ResourcePermissionServiceUtil.removeResourcePermission」,您可以刪除訪客角色的查看權限。 –

5

有些方法(通過liferay Configuration和Ext)可以限制對那些沒有明確擁有該權限的用戶的Site公共頁面的VIEW。

1日法

因此,這可以通過設置該屬性在portal-ext.properties來實現false

permissions.check.guest.enabled=false 

但通過設置該屬性會發生什麼事是遊客角色只適用於尚未登錄的用戶,一旦用戶登錄,即使訪客的頁面或資產上有VIEW權限,用戶也無法查看它,除非用戶擁有該權限。

因此,即使您授予來賓角色的所有權限,來賓角色也將完全無用。

對於尚未登錄的用戶,可以使用某些邏輯將它們發送到登錄頁面。

第二個方法

1)更新在EXT-插件site.xml中禁用來賓默認VIEW權限,同時增加網站頁面。

通過添加站點頁面時,默認來賓角色的查看權限未被選中。

相關問題