如何获取Liferay主题中登录用户的角色?如何检查用户是否属于特定角色?
最佳答案
UserLocalService有 hasRoleUser
方法,可用于查找用户是否属于特定角色。
下面的代码可以放在templates
文件夹下的navigation.vm
文件中。
#set($UserLocalServiceUtil = $serviceLocator.findService("com.liferay.portal.service.UserLocalService"))
#if ($UserLocalServiceUtil.hasRoleUser(roleID, $user.getUserId())) // It takes roleID as input to check.
//Proceed with whatever you want to
#else
//Proceed with something else
注意:如果您使用com.liferay.portal.service.UserLocalServiceUtil
,而不是com.liferay.portal.service.UserLocalService
,
正如在一些资源中可以找到的那样 this那么你会遇到以下异常,
ERROR com.liferay.portal.kernel.bean.BeanLocatorException: org.springframework.beans.factory.NoSuchBeanDefinitionException: No
bean named 'com.liferay.portal.service.UserLocalServiceUtil' is defined
com.liferay.portal.kernel.bean.BeanLocatorException: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'com.liferay.portal.servi
ce.UserLocalServiceUtil' is defined
另一种方法是,
#set($role=$serviceLocator.findService("com.liferay.portal.service.RoleLocalService"))
$role.getUserRoles($user_id)
关于liferay - 如何获得Liferay主题中的角色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17402816/