2015-04-16 2 views
0

Мне хотелось узнать список имен ролей сайта, назначенных для пользователя. Поэтому я попытался сделать следующее:Как я могу получить роли сайта пользователя в liferay

List<Role> userRolesList = RoleLocalServiceUtil.getUserRoles(userid); 
       if (userRolesList != null) { 
      for (Role role : userRolesList) { 
        System.out.println("rolesID:"+ role.getTypeLabel()); 
       } 
      } 

Я могу видеть только обычные роли пользователя. Не типы сайтов. Но в моем случае пользователь является администратором сайта. Итак, как я могу получить имена имен сайтов пользователей, используя вызовы api?

ответ

3

RoleLocalServiceUtil вернет вам только обычные роли. Для того, чтобы получить группу/ролей сайта вам необходимо использовать getUserGroupRoles(long userId, long groupId) из UserGroupRoleLocalServiceUtil следующим образом:

List<UserGroupRole> userGroupRoleList = 
    UserGroupRoleLocalServiceUtil.getUserGroupRoles(userId, groupId); 
    if (userGroupRoleList != null) { 
    for (UserGroupRole userGroupRole : userGroupRoleList) { 
     /* Get Role object based on userGroupRole.getRoleId() */ 
     Role role = RoleLocalServiceUtil.getRole(userGroupRole.getRoleId()); 
     System.out.println("roleId : " + role.getRoleId()); 
     System.out.println("roleName : " + role.getName()); 
    } 
} 
+0

Да, спасибо. возможно ли получить имя роли вместо идентификатора роли? – Vinod

+0

Я обновил свой ответ. Получить объект «Роль» на основе userGroupRole.getRoleId() –

2

Использовать методы api com.liferay.portal.service.UserGroupRoleLocalServiceUtil.java, перечисленные ниже.

UserGroupRoleLocalServiceUtil.getUserGroupRoles(
     long userId) 

UserGroupRoleLocalServiceUtil.getUserGroupRoles(
     long userId, long groupId) 

Он возвращает объект UserGroupRole, из которого вы можете получить объект Role и, следовательно, имя роли.

Используя первый метод, вы можете получить все Роли сайта, назначенные пользователю, и используя второй метод, вы можете получить все Роли сайта, назначенные пользователю с определенным сайтом/Группой.

Смежные вопросы