讓Liferay中dockbar基於許可權顯示
阿新 • • 發佈:2020-10-12
參考:http://www.huqiwen.com/2016/06/07/liferay-dockbar-permission/
Liferay是上方的那條我們將他稱為dockbar,在dockbar上可以操作頁面的編輯、portket的新增、站點的跳轉、控制面板的入口等。
有些場景下我們可能不想讓dockbar顯示,或者是想讓他基於許可權顯示。
dockbar的定義是在主題的templates/portal_normal.vm裡面,我們在裡面可以看到如下的程式碼:
#dockbar()
或者
#if ($is_signed_in) #dockbar() #end
前者是dockbar一直顯示,後才表示使用者登入後顯示,如果沒有登入只在右上角一個登入的連結。
如果我們想只有超級管理員顯示,者使用如下程式碼:
#if ($permissionChecker.isOmniadmin()) #dockbar() #end
其中的$permissionChecker.isOmniadmin()來判斷是不是超級管理員,如果是則顯示,如果不是則不顯示。
同樣的我們基於permissionChecker可以做更多的許可權判斷。
$permissionChecker.isOrganizationAdmin()是否是組織機構管理員;
$permissionChecker.isGroupAdmin是否是站點管理員;
$permissionChecker.isGroupMember是否是當前站點的成員;
$permissionChecker.isCheckGuest是否是未登入使用者;
通過這些的組合使用,可以根據自己的需要來自由的控制dockbar的顯示。