Search in sources :

Example 1 with EJBBoundSecurityMetaData

use of org.jboss.as.ejb3.security.metadata.EJBBoundSecurityMetaData in project wildfly by wildfly.

the class EJBBoundSecurityMetaDataParser method parse.

@Override
public EJBBoundSecurityMetaData parse(XMLStreamReader reader, final PropertyReplacer propertyReplacer) throws XMLStreamException {
    EJBBoundSecurityMetaData metaData = new EJBBoundSecurityMetaData();
    processElements(metaData, reader, propertyReplacer);
    return metaData;
}
Also used : EJBBoundSecurityMetaData(org.jboss.as.ejb3.security.metadata.EJBBoundSecurityMetaData)

Example 2 with EJBBoundSecurityMetaData

use of org.jboss.as.ejb3.security.metadata.EJBBoundSecurityMetaData in project wildfly by wildfly.

the class EJBBoundSecurityMetaDataParser11 method parse.

@Override
public EJBBoundSecurityMetaData parse(XMLStreamReader reader, final PropertyReplacer propertyReplacer) throws XMLStreamException {
    EJBBoundSecurityMetaData metaData = new EJBBoundSecurityMetaData();
    processElements(metaData, reader, propertyReplacer);
    return metaData;
}
Also used : EJBBoundSecurityMetaData(org.jboss.as.ejb3.security.metadata.EJBBoundSecurityMetaData)

Example 3 with EJBBoundSecurityMetaData

use of org.jboss.as.ejb3.security.metadata.EJBBoundSecurityMetaData in project wildfly by wildfly.

the class MissingMethodPermissionsDenyAccessMergingProcessor method handleDeploymentDescriptor.

@Override
protected void handleDeploymentDescriptor(DeploymentUnit deploymentUnit, DeploymentReflectionIndex deploymentReflectionIndex, Class<?> componentClass, EJBComponentDescription description) throws DeploymentUnitProcessingException {
    Boolean missingMethodPermissionsDenyAccess = null;
    Boolean missingMethodPermissionsDenyAccessApplicableForAllBeans = null;
    final EjbJarMetaData ejbJarMetaData = deploymentUnit.getAttachment(EjbDeploymentAttachmentKeys.EJB_JAR_METADATA);
    if (ejbJarMetaData != null) {
        final AssemblyDescriptorMetaData assemblyMetadata = ejbJarMetaData.getAssemblyDescriptor();
        if (assemblyMetadata != null) {
            final List<EJBBoundSecurityMetaData> securityMetaDatas = assemblyMetadata.getAny(EJBBoundSecurityMetaData.class);
            if (securityMetaDatas != null) {
                for (final EJBBoundSecurityMetaData securityMetaData : securityMetaDatas) {
                    if (securityMetaData.getEjbName().equals(description.getComponentName())) {
                        missingMethodPermissionsDenyAccess = securityMetaData.getMissingMethodPermissionsDenyAccess();
                        break;
                    }
                    // check missing-method-permissions-excluded-mode that's applicable for all EJBs.
                    if (securityMetaData.getEjbName().equals("*")) {
                        missingMethodPermissionsDenyAccessApplicableForAllBeans = securityMetaData.getMissingMethodPermissionsDenyAccess();
                        continue;
                    }
                }
            }
        }
    }
    if (missingMethodPermissionsDenyAccess != null) {
        description.setMissingMethodPermissionsDenyAccess(missingMethodPermissionsDenyAccess);
    } else if (missingMethodPermissionsDenyAccessApplicableForAllBeans != null) {
        description.setMissingMethodPermissionsDenyAccess(missingMethodPermissionsDenyAccessApplicableForAllBeans);
    } else {
        description.setMissingMethodPermissionsDenyAccess(denyAccessByDefault);
    }
}
Also used : EJBBoundSecurityMetaData(org.jboss.as.ejb3.security.metadata.EJBBoundSecurityMetaData) EjbJarMetaData(org.jboss.metadata.ejb.spec.EjbJarMetaData) AssemblyDescriptorMetaData(org.jboss.metadata.ejb.spec.AssemblyDescriptorMetaData)

Example 4 with EJBBoundSecurityMetaData

use of org.jboss.as.ejb3.security.metadata.EJBBoundSecurityMetaData in project wildfly by wildfly.

the class SecurityDomainMergingProcessor method handleDeploymentDescriptor.

@Override
protected void handleDeploymentDescriptor(final DeploymentUnit deploymentUnit, final DeploymentReflectionIndex deploymentReflectionIndex, final Class<?> componentClass, final EJBComponentDescription description) throws DeploymentUnitProcessingException {
    String securityDomain = getJBossAppSecurityDomain(deploymentUnit);
    String globalSecurityDomain = null;
    final EjbJarMetaData ejbJarMetaData = deploymentUnit.getAttachment(EjbDeploymentAttachmentKeys.EJB_JAR_METADATA);
    if (ejbJarMetaData != null) {
        final AssemblyDescriptorMetaData assemblyMetadata = ejbJarMetaData.getAssemblyDescriptor();
        if (assemblyMetadata != null) {
            final List<EJBBoundSecurityMetaData> securityMetaDatas = assemblyMetadata.getAny(EJBBoundSecurityMetaData.class);
            if (securityMetaDatas != null) {
                for (final EJBBoundSecurityMetaData securityMetaData : securityMetaDatas) {
                    if (securityMetaData.getEjbName().equals(description.getComponentName())) {
                        securityDomain = securityMetaData.getSecurityDomain();
                        break;
                    }
                    // check global security domain
                    if (securityMetaData.getEjbName().equals("*")) {
                        globalSecurityDomain = securityMetaData.getSecurityDomain();
                        continue;
                    }
                }
            }
        }
    }
    if (securityDomain != null)
        description.setDefinedSecurityDomain(securityDomain);
    else if (globalSecurityDomain != null)
        description.setDefinedSecurityDomain(globalSecurityDomain);
}
Also used : EJBBoundSecurityMetaData(org.jboss.as.ejb3.security.metadata.EJBBoundSecurityMetaData) EjbJarMetaData(org.jboss.metadata.ejb.spec.EjbJarMetaData) AssemblyDescriptorMetaData(org.jboss.metadata.ejb.spec.AssemblyDescriptorMetaData)

Example 5 with EJBBoundSecurityMetaData

use of org.jboss.as.ejb3.security.metadata.EJBBoundSecurityMetaData in project wildfly by wildfly.

the class RunAsMergingProcessor method handleDeploymentDescriptor.

@Override
protected void handleDeploymentDescriptor(final DeploymentUnit deploymentUnit, final DeploymentReflectionIndex deploymentReflectionIndex, final Class<?> componentClass, final EJBComponentDescription componentConfiguration) throws DeploymentUnitProcessingException {
    if (componentConfiguration.getDescriptorData() != null) {
        final SecurityIdentityMetaData identity = componentConfiguration.getDescriptorData().getSecurityIdentity();
        if (identity != null) {
            final RunAsMetaData runAs = identity.getRunAs();
            if (runAs != null) {
                final String role = runAs.getRoleName();
                if (role != null && !role.trim().isEmpty()) {
                    componentConfiguration.setRunAs(role.trim());
                }
            }
        }
    }
    if (componentConfiguration.getRunAs() != null) {
        String principal = null;
        String globalRunAsPrincipal = null;
        EjbJarMetaData jbossMetaData = deploymentUnit.getAttachment(EjbDeploymentAttachmentKeys.EJB_JAR_METADATA);
        if (jbossMetaData != null && jbossMetaData.getAssemblyDescriptor() != null) {
            List<EJBBoundSecurityMetaData> securityMetaDatas = jbossMetaData.getAssemblyDescriptor().getAny(EJBBoundSecurityMetaData.class);
            if (securityMetaDatas != null) {
                for (EJBBoundSecurityMetaData securityMetaData : securityMetaDatas) {
                    if (securityMetaData.getEjbName().equals(componentConfiguration.getComponentName())) {
                        principal = securityMetaData.getRunAsPrincipal();
                        break;
                    }
                    // check global run-as principal
                    if (securityMetaData.getEjbName().equals("*")) {
                        globalRunAsPrincipal = securityMetaData.getRunAsPrincipal();
                        continue;
                    }
                }
            }
            if (principal != null)
                componentConfiguration.setRunAsPrincipal(principal);
            else if (globalRunAsPrincipal != null)
                componentConfiguration.setRunAsPrincipal(globalRunAsPrincipal);
            else {
                // we only set the run-as-principal to default, if it's not already set (via annotation) on the component
                if (componentConfiguration.getRunAsPrincipal() == null) {
                    componentConfiguration.setRunAsPrincipal(DEFAULT_RUN_AS_PRINCIPAL);
                }
            }
        }
    }
}
Also used : EJBBoundSecurityMetaData(org.jboss.as.ejb3.security.metadata.EJBBoundSecurityMetaData) RunAsMetaData(org.jboss.metadata.javaee.spec.RunAsMetaData) EjbJarMetaData(org.jboss.metadata.ejb.spec.EjbJarMetaData) SecurityIdentityMetaData(org.jboss.metadata.ejb.spec.SecurityIdentityMetaData)

Aggregations

EJBBoundSecurityMetaData (org.jboss.as.ejb3.security.metadata.EJBBoundSecurityMetaData)5 EjbJarMetaData (org.jboss.metadata.ejb.spec.EjbJarMetaData)3 AssemblyDescriptorMetaData (org.jboss.metadata.ejb.spec.AssemblyDescriptorMetaData)2 SecurityIdentityMetaData (org.jboss.metadata.ejb.spec.SecurityIdentityMetaData)1 RunAsMetaData (org.jboss.metadata.javaee.spec.RunAsMetaData)1