public void deploy(final DeploymentPhaseContext phaseContext) throws DeploymentUnitProcessingException { DeploymentUnit deploymentUnit = phaseContext.getDeploymentUnit(); final ModuleSpecification attachment = deploymentUnit.getAttachment(Attachments.MODULE_SPECIFICATION); if (attachment == null) { return; } final List<PermissionFactory> permissions = attachment.getPermissionFactories(); final Enumeration<Permission> e = DEFAULT_PERMISSIONS.elements(); while (e.hasMoreElements()) { permissions.add(new ImmediatePermissionFactory(e.nextElement())); } //make sure they can read the contents of the deployment ResourceRoot root = deploymentUnit.getAttachment(Attachments.DEPLOYMENT_ROOT); try { File file = root.getRoot().getPhysicalFile(); if(file != null && file.isDirectory()) { FilePermission permission = new FilePermission(file.getAbsolutePath() + File.separatorChar + "-", "read"); permissions.add(new ImmediatePermissionFactory(permission)); } } catch (IOException ex) { throw new DeploymentUnitProcessingException(ex); } }
@Override public void deploy(final DeploymentPhaseContext phaseContext) throws DeploymentUnitProcessingException { final DeploymentUnit deploymentUnit = phaseContext.getDeploymentUnit(); final List<PermissionFactory> permissionFactories = deploymentUnit.getAttachment(Attachments.MODULE_SPECIFICATION).getPermissionFactories(); final StringBuilder failedPermissions = new StringBuilder(); for (PermissionFactory factory : permissionFactories) { // all permissions granted internally by the container are of type ImmediatePermissionFactory - they should // not be considered when validating the permissions granted to deployments via subsystem or deployment // descriptors. if (!(factory instanceof ImmediatePermissionFactory)) { Permission permission = factory.construct(); boolean implied = this.maxPermissions.implies(permission); if (!implied) { failedPermissions.append("\n\t\t" + permission); } } } if (failedPermissions.length() > 0) { throw SecurityManagerLogger.ROOT_LOGGER.invalidDeploymentConfiguration(failedPermissions); } }
public void deploy(final DeploymentPhaseContext phaseContext) throws DeploymentUnitProcessingException { DeploymentUnit deploymentUnit = phaseContext.getDeploymentUnit(); final ModuleSpecification attachment = deploymentUnit.getAttachment(Attachments.MODULE_SPECIFICATION); if (attachment == null) { return; } final List<PermissionFactory> permissions = attachment.getPermissionFactories(); final Enumeration<Permission> e = DEFAULT_PERMISSIONS.elements(); while (e.hasMoreElements()) { permissions.add(new ImmediatePermissionFactory(e.nextElement())); } //make sure they can read the contents of the deployment ResourceRoot root = deploymentUnit.getAttachment(Attachments.DEPLOYMENT_ROOT); try { File file = root.getRoot().getPhysicalFile(); if(file != null && file.isDirectory()) { FilePermission permission = new FilePermission(file.getAbsolutePath() + File.separatorChar + "-", "read"); permissions.add(new ImmediatePermissionFactory(permission)); } } catch (IOException ex) { throw new DeploymentUnitProcessingException(ex); } }
public void deploy(final DeploymentPhaseContext phaseContext) throws DeploymentUnitProcessingException { DeploymentUnit deploymentUnit = phaseContext.getDeploymentUnit(); final ModuleSpecification attachment = deploymentUnit.getAttachment(Attachments.MODULE_SPECIFICATION); if (attachment == null) { return; } final List<PermissionFactory> permissions = attachment.getPermissionFactories(); final Enumeration<Permission> e = DEFAULT_PERMISSIONS.elements(); while (e.hasMoreElements()) { permissions.add(new ImmediatePermissionFactory(e.nextElement())); } //make sure they can read the contents of the deployment ResourceRoot root = deploymentUnit.getAttachment(Attachments.DEPLOYMENT_ROOT); try { File file = root.getRoot().getPhysicalFile(); if(file != null && file.isDirectory()) { FilePermission permission = new FilePermission(file.getAbsolutePath() + File.separatorChar + "-", "read"); permissions.add(new ImmediatePermissionFactory(permission)); } } catch (IOException ex) { throw new DeploymentUnitProcessingException(ex); } }
/** * Gives any additional modules the same dependencies and permissions as the primary module. * <p/> * This makes sure they can access all API classes etc. * * @param moduleSpecification The primary module spec * @param module The additional module */ private void addAllDependenciesAndPermissions(final ModuleSpecification moduleSpecification, final AdditionalModuleSpecification module) { module.addSystemDependencies(moduleSpecification.getSystemDependencies()); module.addLocalDependencies(moduleSpecification.getLocalDependencies()); for(ModuleDependency dep : moduleSpecification.getUserDependencies()) { if(!dep.getIdentifier().equals(module.getModuleIdentifier())) { module.addUserDependency(dep); } } for(PermissionFactory factory : moduleSpecification.getPermissionFactories()) { module.addPermissionFactory(factory); } }
/** * Gives any additional modules the same dependencies and permissions as the primary module. * <p/> * This makes sure they can access all API classes etc. * * @param moduleSpecification The primary module spec * @param module The additional module */ private void addAllDependenciesAndPermissions(final ModuleSpecification moduleSpecification, final AdditionalModuleSpecification module) { module.addSystemDependencies(moduleSpecification.getSystemDependencies()); module.addLocalDependencies(moduleSpecification.getLocalDependencies()); for(ModuleDependency dep : moduleSpecification.getUserDependencies()) { if(!dep.getIdentifier().equals(module.getModuleIdentifier())) { module.addUserDependency(dep); } } for(PermissionFactory factory : moduleSpecification.getPermissionFactories()) { module.addPermissionFactory(factory); } }
/** * Gives any additional modules the same dependencies and permissions as the primary module. * <p/> * This makes sure they can access all API classes etc. * * @param moduleSpecification The primary module spec * @param module The additional module */ private void addAllDependenciesAndPermissions(final ModuleSpecification moduleSpecification, final AdditionalModuleSpecification module) { module.addSystemDependencies(moduleSpecification.getSystemDependencies()); module.addLocalDependencies(moduleSpecification.getLocalDependencies()); for(ModuleDependency dep : moduleSpecification.getUserDependencies()) { if(!dep.getIdentifier().equals(module.getModuleIdentifier())) { module.addUserDependency(dep); } } for(PermissionFactory factory : moduleSpecification.getPermissionFactories()) { module.addPermissionFactory(factory); } }
final List<ModuleDependency> userDependencies = moduleSpecification.getUserDependencies(); final List<PermissionFactory> permFactories = moduleSpecification.getPermissionFactories();
final List<ModuleDependency> userDependencies = moduleSpecification.getUserDependencies(); final List<PermissionFactory> permFactories = moduleSpecification.getPermissionFactories();
final List<ModuleDependency> userDependencies = moduleSpecification.getUserDependencies(); final List<PermissionFactory> permFactories = moduleSpecification.getPermissionFactories();
List<PermissionFactory> factories = parentSpecification.getPermissionFactories(); if (factories != null && factories.size() > 0) {