【问题标题】:How to assign a Site Administration role for a user in liferay programatically?如何以编程方式为 liferay 中的用户分配站点管理角色?
【发布时间】:2015-06-07 15:43:32
【问题描述】:

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

请有任何建议..

【问题讨论】:

    标签: liferay hook liferay-6 liferay-theme


    【解决方案1】:

    使用 UserGroupRoleLocalServiceUtil 在站点角色下分配“站点管理”角色。

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 如果我按照您的建议使用“RoleLocalServiceUtil”为用户定义角色,用户会获得站点管理员角色权限或站点成员角色权限吗?
      • 是的,只需将特定角色的pk作为roleId传递即可。
      • 感谢您的建议。我怎样才能为那个roleId传递pk。
      • 您会从 Role_ 表中找到特定角色的角色 ID。
      • 我按照你的建议做了。但是“站点管理”角色是在常规角色中分配的。不在站点角色中。如何将其分配为站点角色?提前致谢
      猜你喜欢
      • 1970-01-01
      • 2015-06-10
      • 2013-09-14
      • 2014-06-02
      • 1970-01-01
      • 2016-03-27
      • 2015-12-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多