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

如何通过Liferay API获取组织和站点角色列表

胡禄
2023-03-14

我需要获取我的Liferay中存在的组织角色和站点角色列表。

我使用了下面的代码来获取站点角色和组织角色

List<UserGroupRole> list =UserGroupRoleLocalServiceUtil.getUserGroupRoles(0,UserGroupRoleLocalServiceUtil.getUserGroupRolesCount());
                                  System.out.println("UserGroupRole list size  "+list.size());
                                  System.out.println("getUserGroupRolesCount  "+UserGroupRoleLocalServiceUtil.getUserGroupRolesCount());                        

                                  for (UserGroupRole roleObj : list) {

                                         if(roleObj != null && roleObj.getRole() != null ){
                                                if (RoleConstants.TYPE_ORGANIZATION==roleObj.getRole().getType() && RoleConstants.ORGANIZATION_ADMINISTRATOR.equals(roleObj.getRole().getName())) {
                                                       System.out.println("Role Name " + roleObj.getRole().getName() + " Role Id "+ roleObj.getRole().getRoleId() + " Role type " + roleObj.getRole().getType());

                                                       session.setAttribute(LoginConstants.ORGANIZATION_ADMINISTRATOR_ROLE_ID, roleObj.getRole().getRoleId(),PortletSession.APPLICATION_SCOPE);

                                                       } else 
                                                if (RoleConstants.TYPE_ORGANIZATION==roleObj.getRole().getType() && RoleConstants.ORGANIZATION_OWNER.equals(roleObj.getRole().getName())) {
                                                       System.out.println("Role Name " + roleObj.getRole().getName() + " Role Id "+ roleObj.getRole().getRoleId() + " Role type " + roleObj.getRole().getType());

                                                       session.setAttribute(LoginConstants.ORGANIZATION_OWNER_ROLE_ID, roleObj.getRole().getRoleId(),PortletSession.APPLICATION_SCOPE);

                                                       } else
                                                if (RoleConstants.TYPE_SITE==roleObj.getRole().getType() && RoleConstants.SITE_ADMINISTRATOR.equals(roleObj.getRole().getName())) {
                                                       System.out.println("Role Name " + roleObj.getRole().getName() + " Role Id "+ roleObj.getRole().getRoleId() + " Role type " + roleObj.getRole().getType());

                                                       session.setAttribute(LoginConstants.SITE_ADMINISTRATOR_ROLE_ID, roleObj.getRole().getRoleId(),PortletSession.APPLICATION_SCOPE);

                                                       } else 
                                                if (RoleConstants.TYPE_SITE==roleObj.getRole().getType() && RoleConstants.SITE_OWNER.equals(roleObj.getRole().getName())) {
                                                       System.out.println("Role Name " + roleObj.getRole().getName() + " Role Id "+ roleObj.getRole().getRoleId() + " Role type " + roleObj.getRole().getType());

                                                       session.setAttribute(LoginConstants.SITE_OWNER_ROLE_ID, roleObj.getRole().getRoleId(),PortletSession.APPLICATION_SCOPE);

                                                }
                                         }
                                  }

我期待以下4个角色详细信息(角色Id)-组织管理员-组织所有者-站点管理员-站点所有者

但是我没有得到“网站管理员”角色的详细信息,我没有得到的原因是这个角色没有分配给任何用户,因此没有“用户群角色”的映射。UserGroupRole列表大小为2776。

当我给一个用户分配“站点管理员”角色时,我可以从上面的代码中得到它,UserGroupRole列表的大小是2777。

有没有其他方法可以让我得到所有组织角色和网站角色的列表。请帮助我,谢谢你。

共有1个答案

孙思源
2023-03-14

感谢@Daniele Baggio

我能得到以下4个角色

  • 组织管理员
  • 组织所有者
  • 站点管理员
  • 网站所有者

Role orgAdmin=RoleLocalServiceUtil。getRole(公司ID、RoleConstants.ORGANIZATION_ADMINISTRATOR);

Role orgOwner=RoleLocalServiceUtil。getRole(公司ID、RoleConstants.ORGANIZATION_OWNER);Role siteAdmin=RoleLocalServiceUtil。getRole(公司ID、RoleConstants.SITE_管理员);Role siteOwner=RoleLocalServiceUtil。getRole(公司ID、RoleConstants.网站所有者);

 类似资料:
  • 我想知道为用户分配的站点角色名称列表。所以我试着如下, 我只能看到用户的常规类型角色。不是网站类型。但在我的情况下,用户是网站管理员。那么如何使用api调用获取用户的站点角色名称呢?

  • 接口说明 获取角色列表 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 API地址 GET /permissions/api/team/role/v1.0.0/list 是否需要登录 是 请求字段说明 参数 类型 请求类型 是否必须 说明 token string header 是 当前登录用户的TOKEN sidx string query 否 排序字

  • 接口说明 获取角色列表 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 如开启https功能,请求地址的协议应改为https,如:https://www.example.com/wish3dearth/api/access/v1.0.0/getLicenseInfo API地址 GET /permissions/api/team/role/v1.0.0/

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

  • 功能 ​ 获取用户的站点和子目录列表,不包括权限站点和汇总网站。 接口 百度商业账号 https://api.baidu.com/json/tongji/v1/ReportService/getSiteList 百度账号 https://openapi.baidu.com/rest/2.0/tongji/config/getSiteList 用户相关性 ​ 用户相关 应用级请求参数 ​ 无 返

  •      1)   组织架构尽量与实际的企业组织架构相匹配      2)   组织架构尽量不要轻易改动,组织架构涉及到模板的权限范围,架构变了,一些模板的权限需要手动调整      3)   一个人员可以拥有多种角色,主角色尽量只设一个,其它角色设置为兼职模式      4)   人员名称和登陆名都在系统人员设置中不能重复,同名同姓的人员需要加后缀来区别      5)   人员尽量不要删除,可