2014-09-25 42 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在上述呼叫可以使用檢索到的