private void initializeModules(Resource resource, RoleGroup role) throws PrivilegedActionException { AuthorizationInfo authzInfo = getAuthorizationInfo(securityDomainName, resource); if(authzInfo == null) throw new IllegalStateException("Authorization Info is null"); AuthorizationModuleEntry[] entries = authzInfo.getAuthorizationModuleEntry(); int len = entries != null ? entries.length : 0; for(int i = 0 ; i < len; i++) { AuthorizationModuleEntry entry = entries[i]; ControlFlag flag = entry.getControlFlag(); if(flag == null) { if(trace) log.trace("Null Control flag for entry:"+entry+". Defaults to REQUIRED!"); flag = ControlFlag.REQUIRED; } else if(trace) log.trace("Control flag for entry:"+entry+"is:["+flag+"]"); this.controlFlags.add(flag); modules.add(instantiateModule(entry.getPolicyModuleName(), entry.getOptions(), role)); } }
return getAuthorizationInfo(layer); else return aPolicy.getAuthorizationInfo();
private void initializeModules(Resource resource, RoleGroup role, List<AuthorizationModule> modules, List<ControlFlag> controlFlags) throws PrivilegedActionException AuthorizationInfo authzInfo = getAuthorizationInfo(securityDomainName, resource); if (authzInfo == null) throw PicketBoxMessages.MESSAGES.failedToObtainAuthorizationInfo(securityDomainName);
private AuthorizationInfo getAuthorizationInfo(String domainName, Resource resource) { ResourceType layer = resource.getLayer(); //Check if an instance of ApplicationPolicy is available if (this.applicationPolicy != null) return applicationPolicy.getAuthorizationInfo(); ApplicationPolicy aPolicy = SecurityConfiguration.getApplicationPolicy(domainName); if (aPolicy == null) { if (layer == ResourceType.EJB) aPolicy = SecurityConfiguration.getApplicationPolicy(EJB); else if (layer == ResourceType.WEB) aPolicy = SecurityConfiguration.getApplicationPolicy(WEB); } if (aPolicy == null) throw PicketBoxMessages.MESSAGES.failedToObtainApplicationPolicy(domainName); AuthorizationInfo ai = aPolicy.getAuthorizationInfo(); if (ai == null) return getAuthorizationInfo(layer); else return aPolicy.getAuthorizationInfo(); }