2014-09-25 48 views
-1

我需要获取给定用户的用户组列表。 该用户应该可以是当前登录的用户或Liferay中的任何其他用户。 什么是我需要使用的Liferay API调用?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调用。

long companyId = PortalUtil.getCompanyId(request);

要获取登录用户的电流,参照https://stackoverflow.com/a/10555521/668240

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

的companyId在上述呼叫可以使用检索到的