【问题标题】:Liferay API: Get Roles via PermissionsLiferay API:通过权限获取角色
【发布时间】:2012-09-20 18:47:02
【问题描述】:

目前,我正在尝试创建一个概览,其中列出了为每个布局、Portlet 和角色(权限)激活的所有布局。

我想我已经很接近解决方案了,但最后一点不见了。

我已经得到了我需要的各种信息。我得到了表单布局-> 到资源-> 到权限。但现在我不知道如何通过 Liferay API 从 Permissions(或 permissionId)到实际角色。

我所拥有的:布局、资源、权限 我需要什么:角色

使用 Liferay 5.2.4

【问题讨论】:

    标签: java api jsf liferay


    【解决方案1】:

    您可以使用 RoleLocalServiceUtil。 companyId 您可以通过调用 user.getCompanyId 来获取 Liferay 用户。和用户可以通过这种方式检索:user = UserLocalServiceUtil.getUserById(id);

    private static Role getLiferayRole(String roleName, long companyId) {
        Role role = null;
        try {
            role = RoleLocalServiceUtil.getRole(companyId, roleName);
        } catch (Exception e) {
            LOG.error(e.getMessage());
        } 
        return role;
    }
    

    【讨论】:

      【解决方案2】:

      好吧,我想我终于自己发现了。我现在要做的就是:

      List<Layout> tempPages = LayoutLocalServiceUtil.getLayouts( 0, LayoutLocalServiceUtil.getLayoutsCount() );
      List<Role> allAvailRoles = RoleLocalServiceUtil.getRoles( 0, RoleLocalServiceUtil.getRolesCount() );
      for ( Layout page : tempPages )
      {
          List<Role> mappedRoles = new ArrayList<Role>();
          for ( Role role : allAvailRoles )
          {
              boolean hasRolePermission = PermissionLocalServiceUtil.hasRolePermission( role.getRoleId(),
                                                                                        page.getCompanyId(),
                                                                                        Layout.class.getName(),
                                                                                        ResourceConstants.SCOPE_INDIVIDUAL,
                                                                                        String.valueOf( page.getPrimaryKey() ),
                                                                                        "VIEW" );
              if ( hasRolePermission )
              {
                 mappedRoles.add( role );
              }
           }
           pages.add( new LayoutRoleModel( page, mappedRoles ) );
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-10-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-30
        • 1970-01-01
        • 2015-06-24
        • 2022-06-27
        相关资源
        最近更新 更多