如何以编程方式为 liferay 中的用户分配站点管理角色?

How to assign a Site Administration role for a user in liferay programatically?

我正在通过调用 UserLocalServiceUtil.addUser(....) 以编程方式创建用户,并且能够通过调用 UserLocalServiceUtil.addRoleUser(userSiteId, userId) 为创建的用户分配站点,它工作正常。我能够为用户分配站点成员资格。但是如何为创建用户分配站点管理权限。 (所以我可以将用户指定为站点成员,但我需要将用户指定为站点管理员)

有什么建议请..

您可以使用 RoleLocalServiceUtil 获取任何角色的对象。

Role role = RoleLocalServiceUtil.getRole(roleId);
UserLocalServiceUtil.addRoleUser(role.getRoleId(), user.getUserId());
UserLocalServiceUtil.updateUser(user);

使用 UserGroupRoleLocalServiceUtil 在站点角色下分配 "Site Administration" 角色。

Role role = RoleLocalServiceUtil.getRole(companyId, "Site Administrator");
long[] SiteroleIds = {role.getRoleId()};
UserGroupRoleLocalServiceUtil.addUserGroupRoles(userId, siteId, SiteroleIds);