diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/extended-repository-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/extended-repository-context.xml index e183818fd4..3e8250673a 100644 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/extended-repository-context.xml +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/extended-repository-context.xml @@ -3,6 +3,30 @@ + + + org.alfresco.repo.security.permissions.impl.ExtendedPermissionService @@ -203,40 +227,6 @@ - - - - - - - - org.alfresco.service.cmr.rule.RuleService.getRuleTypes=ACL_ALLOW - org.alfresco.service.cmr.rule.RuleService.getRuleType=ACL_ALLOW - org.alfresco.service.cmr.rule.RuleService.enableRules=ACL_ALLOW - org.alfresco.service.cmr.rule.RuleService.disableRules=ACL_ALLOW - org.alfresco.service.cmr.rule.RuleService.isEnabled=ACL_ALLOW - org.alfresco.service.cmr.rule.RuleService.rulesEnabled=ACL_ALLOW - org.alfresco.service.cmr.rule.RuleService.disableRule=ACL_ALLOW - org.alfresco.service.cmr.rule.RuleService.enableRule=ACL_ALLOW - org.alfresco.service.cmr.rule.RuleService.disableRuleType=ACL_ALLOW - org.alfresco.service.cmr.rule.RuleService.enableRuleType=ACL_ALLOW - org.alfresco.service.cmr.rule.RuleService.isRuleTypeEnabled=ACL_ALLOW - org.alfresco.service.cmr.rule.RuleService.hasRules=ACL_ALLOW - org.alfresco.service.cmr.rule.RuleService.getRules=ACL_ALLOW - org.alfresco.service.cmr.rule.RuleService.countRules=ACL_ALLOW - org.alfresco.service.cmr.rule.RuleService.getRule=ACL_ALLOW - org.alfresco.service.cmr.rule.RuleService.saveRule=ACL_ALLOW - org.alfresco.service.cmr.rule.RuleService.setRulePosition=ACL_ALLOW - org.alfresco.service.cmr.rule.RuleService.removeRule=ACL_ALLOW - org.alfresco.service.cmr.rule.RuleService.removeAllRules=ACL_ALLOW - org.alfresco.service.cmr.rule.RuleService.getOwningNodeRef=ACL_ALLOW - org.alfresco.service.cmr.rule.RuleService.isLinkedToRuleNode=ACL_ALLOW - org.alfresco.service.cmr.rule.RuleService.getLinkedToRuleNode=ACL_ALLOW - org.alfresco.service.cmr.rule.RuleService.getLinkedFromRuleNodes=ACL_ALLOW - org.alfresco.service.cmr.rule.RuleService.*=ACL_DENY - - - diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/security/rm-method-security.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/security/rm-method-security.properties index 6bd37099f6..7caecd7110 100644 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/security/rm-method-security.properties +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/security/rm-method-security.properties @@ -181,33 +181,6 @@ rm.methodsecurity.org.alfresco.service.cmr.security.PermissionService.getInherit rm.methodsecurity.org.alfresco.service.cmr.security.PermissionService.clearPermission=RM.Capability.0 rm.methodsecurity.org.alfresco.service.cmr.security.PermissionService.*=RM_DENY -## Rule Service - -rm.methodsecurity.org.alfresco.service.cmr.rule.RuleService.getRuleTypes=RM_ALLOW -rm.methodsecurity.org.alfresco.service.cmr.rule.RuleService.getRuleType=RM_ALLOW -rm.methodsecurity.org.alfresco.service.cmr.rule.RuleService.enableRules=RM_ALLOW -rm.methodsecurity.org.alfresco.service.cmr.rule.RuleService.disableRules=RM_ALLOW -rm.methodsecurity.org.alfresco.service.cmr.rule.RuleService.isEnabled=RM_ALLOW -rm.methodsecurity.org.alfresco.service.cmr.rule.RuleService.rulesEnabled=RM_ALLOW -rm.methodsecurity.org.alfresco.service.cmr.rule.RuleService.disableRule=RM_ALLOW -rm.methodsecurity.org.alfresco.service.cmr.rule.RuleService.enableRule=RM_ALLOW -rm.methodsecurity.org.alfresco.service.cmr.rule.RuleService.disableRuleType=RM_ALLOW -rm.methodsecurity.org.alfresco.service.cmr.rule.RuleService.enableRuleType=RM_ALLOW -rm.methodsecurity.org.alfresco.service.cmr.rule.RuleService.isRuleTypeEnabled=RM_ALLOW -rm.methodsecurity.org.alfresco.service.cmr.rule.RuleService.hasRules=RM_ALLOW -rm.methodsecurity.org.alfresco.service.cmr.rule.RuleService.getRules=RM_ALLOW -rm.methodsecurity.org.alfresco.service.cmr.rule.RuleService.countRules=RM_ALLOW -rm.methodsecurity.org.alfresco.service.cmr.rule.RuleService.getRule=RM_ALLOW -rm.methodsecurity.org.alfresco.service.cmr.rule.RuleService.saveRule=RM_CAP.0.rma:filePlanComponent.ManageRules -rm.methodsecurity.org.alfresco.service.cmr.rule.RuleService.setRulePosition=RM_CAP.0.rma:filePlanComponent.ManageRules -rm.methodsecurity.org.alfresco.service.cmr.rule.RuleService.removeRule=RM_CAP.0.rma:filePlanComponent.ManageRules -rm.methodsecurity.org.alfresco.service.cmr.rule.RuleService.removeAllRules=RM_CAP.0.rma:filePlanComponent.ManageRules -rm.methodsecurity.org.alfresco.service.cmr.rule.RuleService.getOwningNodeRef=RM_ALLOW -rm.methodsecurity.org.alfresco.service.cmr.rule.RuleService.isLinkedToRuleNode=RM_ALLOW -rm.methodsecurity.org.alfresco.service.cmr.rule.RuleService.getLinkedToRuleNode=RM_ALLOW -rm.methodsecurity.org.alfresco.service.cmr.rule.RuleService.getLinkedFromRuleNodes=RM_ALLOW -rm.methodsecurity.org.alfresco.service.cmr.rule.RuleService.*=RM_DENY - ## Site service rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.cleanSitePermissions=RM.Read.0 @@ -232,7 +205,15 @@ rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.listSites=RM_ALLOW,A rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.removeMembership=RM_ALLOW rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.setMembership=RM_ALLOW rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.updateSite=RM_ALLOW -rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.*=RM_DENY +rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.listMembersPaged=RM_ALLOW +rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.listContainers=RM_ALLOW +rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.countAuthoritiesWithRole=RM_ALLOW +rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.resolveSite=RM_ALLOW +rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.hasSite=RM_ALLOW +rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.listSitesPaged=RM_ALLOW +rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.getSiteShortName=RM_ALLOW +rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.canAddMember=RM_ALLOW +rm.methodsecurity.org.alfresco.service.cmr.site.SiteService.*=RM_ALLOW ## Form Service diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/security/RMMethodSecurityPostProcessor.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/security/RMMethodSecurityPostProcessor.java index e0279d2be1..30038c5f33 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/security/RMMethodSecurityPostProcessor.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/security/RMMethodSecurityPostProcessor.java @@ -92,10 +92,13 @@ public class RMMethodSecurityPostProcessor implements BeanFactoryPostProcessor } BeanDefinition beanDef = beanFactory.getBeanDefinition(bean); - PropertyValue beanValue = beanDef.getPropertyValues().getPropertyValue(PROP_OBJECT_DEFINITION_SOURCE); - String beanStringValue = (String)((TypedStringValue)beanValue.getValue()).getValue(); - String mergedStringValue = merge(beanStringValue); - beanDef.getPropertyValues().addPropertyValue(PROP_OBJECT_DEFINITION_SOURCE, new TypedStringValue(mergedStringValue)); + PropertyValue beanValue = beanDef.getPropertyValues().getPropertyValue(PROP_OBJECT_DEFINITION_SOURCE); + if (beanValue != null) + { + String beanStringValue = (String)((TypedStringValue)beanValue.getValue()).getValue(); + String mergedStringValue = merge(beanStringValue); + beanDef.getPropertyValues().addPropertyValue(PROP_OBJECT_DEFINITION_SOURCE, new TypedStringValue(mergedStringValue)); + } } } }