我需要获取给定用户的用户组列表。 该用户应该可以是当前登录的用户或Liferay中的任何其他用户。 什么是我需要使用的Liferay API调用?
使用UserGroupLocalServiceUtil
是唯一的方法吗?
答案 0 :(得分:1)
有几种方法可以检索用户组列表。
首先检索User对象并调用User Object上的getUserGroups()
,如下所示
List<UserGroup> userGroupList = user.getUserGroups();
使用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);
要获取User对象,您可以使用以下任何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