Как получить роль зарегистрированного пользователя в Liferay Themes? Как проверить, принадлежит ли пользователь к определенной роли?Как получить роль в Liferay Themes?
2
A
ответ
1
UserLocalService имеет метод hasRoleUser
, который может использоваться, чтобы узнать, принадлежит ли пользователь к определенной роли. Ниже код может быть помещен в navigation.vm
файлам под templates
папка.
#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.UserLocalService
, если вы используете com.liferay.portal.service.UserLocalServiceUtil
, как можно было бы найти в некоторых ресурсах, как 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)
2
Просто зациклируйте объект $ user, определенный в init.vm
#set ($user_roles = $user.getRoles())
#foreach($role in $user_roles)
$role.name<br />
#end
thanx для обмена – yannicuLar