留言板
Page Role Permission
I wanted to know if it is possible to implement Java code that can check if a Role has Permission to view a page without involving the user at all.
companyId = com.liferay.portal.util.PortalUtil.getDefaultCompanyId();
role = com.liferay.portal.service.RoleLocalServiceUtil.getRole(companyId, "Site Member");
// some layout plid
layoutPlid = 10174;
name = "com.liferay.portal.model.Layout";
roleId = role.getRoleId();
actionId = "VIEW";
primKey = layoutPlid;
scope = com.liferay.portal.model.ResourceConstants.SCOPE_INDIVIDUAL;
hasIndividualPermission = com.liferay.portal.service.ResourcePermissionLocalServiceUtil.hasResourcePermission(companyId, name, scope, primKey, roleId, actionId);
layout = com.liferay.portal.service.LayoutLocalServiceUtil.getLayout(layoutPlid);
primKey = layout.getGroupId();
scope = com.liferay.portal.model.ResourceConstants.SCOPE_GROUP;
hasSitePermission = com.liferay.portal.service.ResourcePermissionLocalServiceUtil.hasResourcePermission(companyId, name, scope, primKey, roleId, actionId);
primKey = 0;
scope = com.liferay.portal.model.ResourceConstants.SCOPE_GROUP_TEMPLATE;
hasSiteTemplatePermission = com.liferay.portal.service.ResourcePermissionLocalServiceUtil.hasResourcePermission(companyId, name, scope, primKey, roleId, actionId);
primKey = companyId;
scope = com.liferay.portal.model.ResourceConstants.SCOPE_COMPANY;
hasCompanyPermission = com.liferay.portal.service.ResourcePermissionLocalServiceUtil.hasResourcePermission(companyId, name, scope, primKey, roleId, actionId);
role = com.liferay.portal.service.RoleLocalServiceUtil.getRole(companyId, "Site Member");
// some layout plid
layoutPlid = 10174;
name = "com.liferay.portal.model.Layout";
roleId = role.getRoleId();
actionId = "VIEW";
primKey = layoutPlid;
scope = com.liferay.portal.model.ResourceConstants.SCOPE_INDIVIDUAL;
hasIndividualPermission = com.liferay.portal.service.ResourcePermissionLocalServiceUtil.hasResourcePermission(companyId, name, scope, primKey, roleId, actionId);
layout = com.liferay.portal.service.LayoutLocalServiceUtil.getLayout(layoutPlid);
primKey = layout.getGroupId();
scope = com.liferay.portal.model.ResourceConstants.SCOPE_GROUP;
hasSitePermission = com.liferay.portal.service.ResourcePermissionLocalServiceUtil.hasResourcePermission(companyId, name, scope, primKey, roleId, actionId);
primKey = 0;
scope = com.liferay.portal.model.ResourceConstants.SCOPE_GROUP_TEMPLATE;
hasSiteTemplatePermission = com.liferay.portal.service.ResourcePermissionLocalServiceUtil.hasResourcePermission(companyId, name, scope, primKey, roleId, actionId);
primKey = companyId;
scope = com.liferay.portal.model.ResourceConstants.SCOPE_COMPANY;
hasCompanyPermission = com.liferay.portal.service.ResourcePermissionLocalServiceUtil.hasResourcePermission(companyId, name, scope, primKey, roleId, actionId);