如何在 liferay 中以编程方式为用户组分配站点角色

How to assign site roles for user group programatically in liferay

我可以通过以下 API 调用以编程方式为用户分配站点角色,

UserGroupRoleLocalServiceUtil.addUserGroupRoles(userIds, mySite, SiteroleIds);

谁能以类似的方式告诉我如何以编程方式为用户组分配站点角色?

我的方法中同时包含 usergroupID 和 SiteRoleId,那么我需要调用什么 API 方法来为用户组分配站点角色?

您可以使用 addUserGroupGroupRoles(long userGroupId, long groupId, long[] roleIds)UserGroupGroupRoleLocalServiceUtil 将 SiteRoleId 分配给 userGroup。但是您还需要 groupId。

示例代码:

UserGroup userGroup = UserGroupLocalServiceUtil.getUserGroup(userGroupId);
Role role = RoleLocalServiceUtil.getRole(companyId, "role name");
long[] roles = new long[] {role.getRoleId()};

UserGroupGroupRoleLocalServiceUtil.addUserGroupGroupRoles(userGroup.getUserGroupId(), 
    site.getGroupId(), roles);