查找由Liferay Theme 6.1.1 GA2中的组分配的继承用户角色

时间:2013-09-24 13:33:36

标签: inheritance liferay-6 liferay-velocity liferay-theme

如果当前登录的用户具有以下角色,我们想要检查Liferay-Theme for 6.1.1 GA2 “myRole”。

通过将用户添加到分配了此角色的组,该角色已定义并分配给用户。

当我在控制面板中检查用户角色时,在用户列表中为该用户正确显示该组。编辑用户时,角色 - 面板在“继承的角色”中显示已分配的组。

主题简单

#set ($usrRoles = $user.getRoles())
#foreach( $usrRole in $usrRoles )
    <p>$usrRole.getName()</p>
#end

仅返回直接分配的角色,而不返回来自组继承角色的角色。

是否有其他方法可以获得这些角色?或者这只是Liferay中的另一个错误?

1 个答案:

答案 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