Java Liferay API:通过权限获取角色

Java Liferay API:通过权限获取角色,java,api,jsf,liferay,Java,Api,Jsf,Liferay,目前,我正在尝试创建一个概述,其中列出了为每个布局和Portlet激活的所有布局、Portlet和角色(权限) 我想我已经很接近解决方案了,但是最后一点没有了 我已经得到了我需要的所有信息。我已获得表单布局-->到资源-->的权限。但是现在我不知道如何通过Liferay API从权限(或permissionId)到实际角色 我拥有的:布局、资源、权限 我需要的是:角色 使用Liferay 5.2.4可以使用RoleLocalServiceUtil。 companyId您可以通过调用user.ge

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

我想我已经很接近解决方案了,但是最后一点没有了

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

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


使用Liferay 5.2.4可以使用RoleLocalServiceUtil。 companyId您可以通过调用user.getCompanyId来忽略Liferay用户。可以通过这种方式检索的用户:user=UserLocalServiceUtil.getUserById(id)


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


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

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 ) );
}
List tempPages=LayoutLocalServiceUtil.getLayouts(0,LayoutLocalServiceUtil.getLayoutScont());
List allAvailRoles=RoleLocalServiceUtil.getRoles(0,RoleLocalServiceUtil.getRolesCount());
用于(布局页面:临时页面)
{
List mappedRoles=new ArrayList();
for(角色:allAvailRoles)
{
布尔hasRolePermission=PermissionLocalServiceUtil.hasRolePermission(role.getRoleId(),
page.getCompanyId(),
Layout.class.getName(),
ResourceConstants.SCOPE_个人,
String.valueOf(page.getPrimaryKey()),
“观点”);
if(角色许可)
{
添加(角色);
}
}
添加(新的LayoutRoleModel(页面,mappedRoles));
}

好吧,我想我自己终于找到了答案。我现在所做的就是:

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 ) );
}
List tempPages=LayoutLocalServiceUtil.getLayouts(0,LayoutLocalServiceUtil.getLayoutScont());
List allAvailRoles=RoleLocalServiceUtil.getRoles(0,RoleLocalServiceUtil.getRolesCount());
用于(布局页面:临时页面)
{
List mappedRoles=new ArrayList();
for(角色:allAvailRoles)
{
布尔hasRolePermission=PermissionLocalServiceUtil.hasRolePermission(role.getRoleId(),
page.getCompanyId(),
Layout.class.getName(),
ResourceConstants.SCOPE_个人,
String.valueOf(page.getPrimaryKey()),
“观点”);
if(角色许可)
{
添加(角色);
}
}
添加(新的LayoutRoleModel(页面,mappedRoles));
}