2013-09-24 41 views
1

如果當前登錄的用戶具有角色,例如,我們希望檢查6.1.1 GA2的Liferay-Theme。 「我的角色」。查找繼承的用戶角色,由Liferay Theme中的組分配6.1.1 GA2

通過將用戶添加到分配此角色的組中,將角色定義並分配給用戶。

當我檢查控制面板中的用戶角色時,該組在用戶列表中正確顯示給該用戶。編輯用戶,角色面板在「繼承的角色」中顯示分配的組。

在主題簡單

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

只返回直接分配的角色不是從組繼承角色。

是否有另一種方法來獲得這些角色?或者這只是Liferay中的另一個bug?

回答

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

+0

THX!速度對象列表非常有用 - 但我可以在哪裏找到這些對象的方法?我猜只有在源文件? – kidata

+1

是的,不幸的是唯一的文檔是源代碼或javadoc。我通常採用與速度變量相對應的java類,然後在我的IDE中嘗試其方法 – Sticcio

相關問題