【发布时间】:2014-09-25 08:16:27
【问题描述】:
我需要获取给定用户的用户组列表。 该用户应该可以是当前登录用户或 Liferay 中的任何其他用户。 我需要使用什么 Liferay API 调用?
使用UserGroupLocalServiceUtil 是唯一的方法吗?
【问题讨论】:
标签: liferay-6
我需要获取给定用户的用户组列表。 该用户应该可以是当前登录用户或 Liferay 中的任何其他用户。 我需要使用什么 Liferay API 调用?
使用UserGroupLocalServiceUtil 是唯一的方法吗?
【问题讨论】:
标签: liferay-6
有几种方法可以检索用户组列表。
首先检索用户对象,并在用户对象上调用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
【讨论】: