2014-09-25 6 views
-1

Мне нужно получить список групп пользователей для данного пользователя. Этот пользователь должен либо быть текущим зарегистрированным пользователем, либо любым другим пользователем в Liferay. Что такое API-интерфейс Liferay, который мне нужно использовать?Liferay - Получить группы пользователей для пользователя

Использует только UserGroupLocalServiceUtil единственный способ сделать это?

ответ

1

Существует несколько способов получения списка групп пользователей.

  1. Получить объект пользователя первым и вызовите getUserGroups() на пользовательском объекте, как показано ниже

    List<UserGroup> userGroupList = user.getUserGroups();

  2. UserGroupLocalServiceUtil Используйте класс для извлечения пользователя Список группы.

    List<UserGroup> userGroupList = UserGroupLocalServiceUtil.getUserUserGroups(user.getUserId());

Есть много других полезных методов, которые могут быть использованы.

  • Для постраничного извлеченного списка групп пользователей с помощью следующих методов:

    List<UserGroup> userGroupList = UserGroupLocalServiceUtil.getUserUserGroups(userId, start, end);

  • Для постраничного и сортировки списка групп пользователей

    List<UserGroup> userGroupList = UserGroupLocalServiceUtil.getUserUserGroups(userId, start, end, orderByComparator)

  • Чтобы получить номер групп пользователей для пользователя

    int userGroupCount = UserGroupLocalServiceUtil.getUserUserGroupsCount(userId);

Чтобы получить объект пользователя, вы можете использовать любой из следующих вызовов API.

User user = UserLocalServiceUtil.getUserById(userId); 
User user = UserLocalServiceUtil.getUserByScreenName(companyId, screenName); 
User user = UserLocalServiceUtil.getUserByEmailAddress(companyId, emailAddress); 

CompanyID в указанных вызовов могут быть получены с помощью:

long companyId = PortalUtil.getCompanyId(request);

Чтобы получить вошедшего в систему пользователя, см https://stackoverflow.com/a/10555521/668240

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