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