如果当前登录的用户具有以下角色,我们想要检查Liferay-Theme for 6.1.1 GA2 “myRole”。
通过将用户添加到分配了此角色的组,该角色已定义并分配给用户。
当我在控制面板中检查用户角色时,在用户列表中为该用户正确显示该组。编辑用户时,角色 - 面板在“继承的角色”中显示已分配的组。
主题简单
#set ($usrRoles = $user.getRoles())
#foreach( $usrRole in $usrRoles )
<p>$usrRole.getName()</p>
#end
仅返回直接分配的角色,而不返回来自组继承角色的角色。
是否有其他方法可以获得这些角色?或者这只是Liferay中的另一个错误?
答案 0 :(得分:2)
如果您使用的是liferay用户组,则可以通过UserGroupRoleLocalService检索关联的角色。
在以下代码后添加此代码:
#set($userGroupRoleLocalService= $serviceLocator.findService("com.liferay.portal.service.UserGroupRoleLocalService"))
#set($ugUsrRoles = $userGroupRoleLocalService.getUserGroupRoles($user.getUserId()))
#foreach( $ugUsrRole in $ugUsrRoles )
<p>$ugUsrRole.getRole().getName()</p>
#end
这是速度中可用的所有liferay对象的有趣列表:Access Objects from Velocity