当前位置: 首页 > 知识库问答 >
问题:

如何在liferay中获取用户站点角色

梁明辉
2023-03-14

我想知道为用户分配的站点角色名称列表。所以我试着如下,

List<Role> userRolesList = RoleLocalServiceUtil.getUserRoles(userid);
                if (userRolesList != null) {
            for (Role role : userRolesList) {  
                    System.out.println("rolesID:"+ role.getTypeLabel());
                }
            }

我只能看到用户的常规类型角色。不是网站类型。但在我的情况下,用户是网站管理员。那么如何使用api调用获取用户的站点角色名称呢?

共有2个答案

董高逸
2023-03-14

利用com。利弗雷。门户。服务UserGroupRoleLocalServiceUtil。下面列出了java的api方法。

 UserGroupRoleLocalServiceUtil.getUserGroupRoles(
        long userId)

UserGroupRoleLocalServiceUtil.getUserGroupRoles(
        long userId, long groupId)

它返回UserGroupRole对象,从中可以获取Role对象,因此命名为Role。

使用第一种方法可以获得分配给用户的所有站点角色,使用第二种方法可以获得分配给具有特定站点/组的用户的所有站点角色。

高运诚
2023-03-14

RoleLocalServiceUtil将仅返回常规角色。要获取组/站点角色,您需要使用UserGroupRoleLocalServiceUtilgetUserGroupRoles(long userId,long groupId),如下所示:

List<UserGroupRole> userGroupRoleList =
    UserGroupRoleLocalServiceUtil.getUserGroupRoles(userId, groupId);
    if (userGroupRoleList != null) {
    for (UserGroupRole userGroupRole : userGroupRoleList) {
        /* Get Role object based on userGroupRole.getRoleId() */
        Role role = RoleLocalServiceUtil.getRole(userGroupRole.getRoleId());
        System.out.println("roleId : " + role.getRoleId());
        System.out.println("roleName : " + role.getName());
    }
}
 类似资料:
  • 我已将LDAP导入的用户组映射到站点角色(因为Liferay 6.1不可能将它们映射到组织角色)。 例如,我已经将用户组my_site管理员映射到站点my_site的站点角色站点管理员。 如何让网站角色的所有用户也考虑到用户组成员身份? 我尝试了以下代码,但没有成功。

  • 我需要获取我的Liferay中存在的组织角色和站点角色列表。 我使用了下面的代码来获取站点角色和组织角色 我期待以下4个角色详细信息(角色Id)-组织管理员-组织所有者-站点管理员-站点所有者 但是我没有得到“网站管理员”角色的详细信息,我没有得到的原因是这个角色没有分配给任何用户,因此没有“用户群角色”的映射。UserGroupRole列表大小为2776。 当我给一个用户分配“站点管理员”角色时

  • 使用指南 - 数据报告 - Tongji API - 如何获取用户的站点列表 功能 获取当前用户下的站点和子目录列表,不包括权限站点和汇总网站。 接口名称 https://api.baidu.com/json/tongji/v1/ReportService/getSiteList 用户相关性 用户相关 应用级输入参数 无 返回参数 参数名 参数类型 是否必需 描述 list array of Si

  • 我使用的是Liferay 6.1,我有一个名为MySite Approvers的用户组,并为其分配了站点角色site Approver,用于站点MySite。 我希望属于此用户组的用户也将继承MySite的站点审批者角色,即继承此站点角色的权限。 但用户不继承站点角色权限,在“控制面板”中MySite的站点成员身份中,用户的站点角色为空。 我该怎么修?我是否应该编写一个钩子,定期向具有站点角色的用

  • 我想以编程方式在liferay中添加站点,因此我创建了一个负责以编程方式添加站点的portlet,但它不起作用,所以请任何人在这方面帮助我。当我单击create site is时,我得到的错误是。这是我的代码: &这是我的sites.java,它是一个操作文件: 我的日志文件是:

  • 您好,我正在使用平均堆栈和jwt登录,我想限制一些数据只有userRole'admin'这是我的user.js 这就是我验证jwt令牌的方法 这是我希望使用verifyToken函数仅为'admin'角色限制的数据 我的问题是,我如何访问当前登录的用户信息,并仅使管理员可读的/特殊的