让Liferay中dockbar基于权限显示
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的显示。