如何获取Liferay 7中角色的所有权限

如何获取Liferay 7中角色的所有权限,liferay,liferay-7,Liferay,Liferay 7,我想获取特定角色的所有权限,我尝试使用ResourcePermissionLocalServiceUtil,但它只获取角色内部的权限 System.out.println("userGroupGroupRole:::" + userGroupGroupRole); List<ResourcePermission> listOfPermission = new ArrayList<ResourcePermission>(); for (UserGroupGroupRole

我想获取特定角色的所有权限,我尝试使用ResourcePermissionLocalServiceUtil,但它只获取角色内部的权限

System.out.println("userGroupGroupRole:::" + userGroupGroupRole);
List<ResourcePermission> listOfPermission = new 
ArrayList<ResourcePermission>();
for (UserGroupGroupRole uggrole : userGroupGroupRole) {
    listOfPermission
        .addAll(ResourcePermissionLocalServiceUtil.getRoleResourcePermissions(uggrole.getRoleId()));

    System.out.println("Title::" + uggrole.getRole().getTitle(locale));
    System.out.println("Site:::" + uggrole.getGroup().getGroupKey());
    System.out.println("user-group:::::" + uggrole.getUserGroup().getName());
}

System.out.println("listOfPermission::" + listOfPermission);
System.out.println(“usergrouprole::”+usergrouprole);
列表listOfPermission=新建
ArrayList();
for(usergrouprole-uggrole:usergrouprole){
许可证列表
.addAll(ResourcePermissionLocalServiceUtil.getRoleResourcePermissions(uggrole.getRoleId());
System.out.println(“Title:”+uggrole.getRole().getTitle(locale));
System.out.println(“Site::”+uggrole.getGroup().getGroupKey());
System.out.println(“用户组:::”+uggrole.getUserGroup().getName());
}
System.out.println(“listOfPermission::”+listOfPermission);
获取权限请参见获取哪些角色的图片:

我需要下图所示的许可。 我希望获得以下权限:


这样我们可以获取所有权限

PortletConfigurationPermissionsDisplayContext portletConfigurationPermissionsDisplayContext = new PortletConfigurationPermissionsDisplayContext(
            request, renderRequest);

    Resource resource = portletConfigurationPermissionsDisplayContext.getResource();

    if (Validator.isNotNull(portletConfigurationPermissionsDisplayContext.getModelResource())) {
        PortalUtil.addPortletBreadcrumbEntry(request,
                HtmlUtil.unescape(portletConfigurationPermissionsDisplayContext.getSelResourceDescription()),
                null);
        PortalUtil.addPortletBreadcrumbEntry(request, LanguageUtil.get(request, "permissions"), currentURL);
    }
    System.out.println("Resource::" + resource);

    boolean role_a_hasPermissionToView = false;
    List<Role> allRoles = RoleLocalServiceUtil.getRoles(0, RoleLocalServiceUtil.getRolesCount());
    //System.out.println(allRoles + "-all roles");
    for (Role role : allRoles) {


                System.out.println("---------------------------------------");
                String rolename = role.getName();
                System.out.println("Primary Key::" + role.getPrimaryKey() + "----Role Name::" + rolename);
                System.out.println("---------------------------------------");

                List<String> currentIndividualActions1 = new ArrayList<String>();
                List<String> currentGroupActions1 = new ArrayList<String>();
                List<String> currentGroupTemplateActions1 = new ArrayList<String>();
                List<String> currentCompanyActions1 = new ArrayList<String>();
                ResourcePermissionUtil.populateResourcePermissionActionIds(
                        portletConfigurationPermissionsDisplayContext.getGroupId(), role, resource,
                        portletConfigurationPermissionsDisplayContext.getActions(), currentIndividualActions1,
                        currentGroupActions1, currentGroupTemplateActions1, currentCompanyActions1);

                for (String action : portletConfigurationPermissionsDisplayContext.getActions()) {
                    System.out.println("action::" + action);
                    System.out
                            .println("Resource Action Util:" + ResourceActionsUtil.getAction(request, action));
                    if (action.equals(ActionKeys.ACCESS_IN_CONTROL_PANEL)) {
                        continue;
                    }

                    boolean checked1 = false;

                    if (currentIndividualActions1.contains(action) || currentGroupActions1.contains(action)
                            || currentGroupTemplateActions1.contains(action)
                            || currentCompanyActions1.contains(action)) {
                        checked1 = true;
                    }

                    String preselectedMsg = StringPool.BLANK;

                    if (currentGroupActions1.contains(action)
                            || currentGroupTemplateActions1.contains(action)) {
                        preselectedMsg = "x-is-allowed-to-do-action-x-in-all-items-of-type-x-in-x";
                    } else if (currentCompanyActions1.contains(action)) {
                        preselectedMsg = "x-is-allowed-to-do-action-x-in-all-items-of-type-x-in-this-portal-instance";
                    }

                    List<String> guestUnsupportedActions1 = portletConfigurationPermissionsDisplayContext
                            .getGuestUnsupportedActions();

                    boolean disabled1 = false;

                    if (rolename.equals(RoleConstants.GUEST) && guestUnsupportedActions1.contains(action)) {
                        disabled1 = true;
                    }

                    String dataMessage = StringPool.BLANK;

                    if (Validator.isNotNull(preselectedMsg)) {
                        String type1 = portletConfigurationPermissionsDisplayContext
                                .getSelResourceDescription();

                        if (Validator.isNull(type1)) {
                            type1 = ResourceActionsUtil.getModelResource(locale, resource.getName());
                        }

                        dataMessage = HtmlUtil.escapeAttribute(LanguageUtil.format(request, preselectedMsg,
                                new Object[]{role.getTitle(locale),
                                        ResourceActionsUtil.getAction(request, action), type1,
                                        HtmlUtil.escape(portletConfigurationPermissionsDisplayContext
                                                .getGroupDescriptiveName())},
                                false));
                    }

                    String actionSeparator = Validator.isNotNull(preselectedMsg)
                            ? ActionUtil.PRESELECTED
                            : ActionUtil.ACTION;
                    System.out.println("Checked:::" + checked1);

                } //for loops ends here

    } //loops end here
PortletConfigurationPermissionsDisplayContext PortletConfigurationPermissionsDisplayContext=新PortletConfigurationPermissionsDisplayContext(
请求、渲染请求);
Resource=portletConfigurationPermissionsDisplayContext.getResource();
if(Validator.isNotNull(portletConfigurationPermissionsDisplayContext.getModelResource()){
PortalTil.addPortletBreadcrumbEntry(请求,
HtmlTil.unescape(portletConfigurationPermissionsDisplayContext.getSelResourceDescription()),
无效);
addPortletBreadcrumbEntry(请求,LanguageUtil.get(请求,“权限”),currentURL);
}
System.out.println(“资源::”+资源);
布尔角色\u a\u hasPermissionToView=false;
List allRoles=RoleLocalServiceUtil.getRoles(0,RoleLocalServiceUtil.getRolesCount());
//System.out.println(所有角色+“-所有角色”);
for(角色:所有角色){
System.out.println(“---------------------------------------------------”;
字符串rolename=role.getName();
System.out.println(“主键:“+role.getPrimaryKey()+”----角色名称:“+rolename”);
System.out.println(“---------------------------------------------------”;
List currentIndividualActions1=新建ArrayList();
List currentGroupActions1=新建ArrayList();
List currentGroupTemplateActions1=新建ArrayList();
List currentCompanyActions1=新的ArrayList();
ResourcePermissionUtil.PopulateResourcePermissionActionId(
portletConfigurationPermissionsDisplayContext.getGroupId(),角色,资源,
portletConfigurationPermissionsDisplayContext.getActions(),currentIndividualActions1,
currentGroupActions1、currentGroupTemplateActions1、currentCompanyActions1);
对于(字符串操作:portletConfigurationPermissionsDisplayContext.getActions()){
System.out.println(“操作::”+操作);
系统输出
.println(“资源操作Util:+ResourceActionsUtil.getAction(请求,操作));
if(action.equals(ActionKeys.ACCESS在控制面板中)){
继续;
}
布尔值checked1=false;
if(currentIndividualActions1.contains(action)| | currentGroupActions1.contains(action)
||currentGroupTemplateActions1.contains(操作)
||currentCompanyActions1.contains(操作)){
checked1=真;
}
String preselectedMsg=StringPool.BLANK;
如果(currentGroupActions1.contains)(操作)
||currentGroupTemplateActions1.contains(操作)){
预选edmsg=“x-is-allowed-to-do-action-x-in-all-items-of-type-x-in-x”;
}else if(currentCompanyActions1.contains(action)){
预选edmsg=“x-is-allowed-to-do-action-x-in-all-items-of-type-x-in-this-portal-instance”;
}
List guestUnsupportedActions1=portletConfigurationPermissionsDisplayContext
.getGuestUnsupportedActions();
布尔禁用1=假;
if(rolename.equals(RoleConstants.GUEST)和&guestUnsupportedActions1.contains(action)){
disabled1=真;
}
String dataMessage=StringPool.BLANK;
if(Validator.isNotNull(预选的dmsg)){
字符串类型1=portletConfigurationPermissionsDisplayContext
.getSelResourceDescription();
if(Validator.isNull(type1)){
type1=ResourceActionsUtil.getModelResource(区域设置,resource.getName());
}
dataMessage=HtmlTil.escapeAttribute(LanguageUtil.format)(请求,预选dMsg,
新对象[]{role.getTitle(区域设置),
ResourceActionsUtil.getAction(请求,操作),类型1,
HtmlTil.escape(portletConfigurationPermissionsDisplayContext
.GetGroupDescriptionName())},
假),;
}
String actionSeparator=Validator.isNotNull(预选edmsg)
?ActionUtil.PRESELECTED
:ActionUtil.ACTION;
System.out.println(“Checked::”+checked1);
}//循环在这里结束
}//循环到此结束

[此权限获取

不太清楚您所说的“我想获取一个p的所有权限”是什么意思