@Override protected void handleDeploymentDescriptor(DeploymentUnit deploymentUnit, DeploymentReflectionIndex deploymentReflectionIndex, Class<?> componentClass, EJBComponentDescription ejbComponentDescription) throws DeploymentUnitProcessingException { final SecurityRolesMetaData roleMappings = new SecurityRolesMetaData(); final EjbJarMetaData ejbJarMetaData = deploymentUnit.getAttachment(EjbDeploymentAttachmentKeys.EJB_JAR_METADATA); if (ejbJarMetaData != null) { final AssemblyDescriptorMetaData assemblyDescriptorMetaData = ejbJarMetaData.getAssemblyDescriptor(); if (assemblyDescriptorMetaData != null) { // get the mapping between principal to rolename, defined in the assembly descriptor final List<SecurityRoleMetaData> securityRoleMetaDatas = assemblyDescriptorMetaData.getAny(SecurityRoleMetaData.class); if (securityRoleMetaDatas != null) { for (SecurityRoleMetaData securityRoleMetaData : securityRoleMetaDatas) { roleMappings.add(securityRoleMetaData); } } } } //Let us look at the ear metadata also DeploymentUnit parent = deploymentUnit.getParent(); if (parent != null) { final EarMetaData earMetaData = parent.getAttachment(Attachments.EAR_METADATA); if (earMetaData != null) { SecurityRolesMetaData earSecurityRolesMetaData = earMetaData.getSecurityRoles(); SecurityRolesMetaDataMerger.merge(roleMappings, roleMappings, earSecurityRolesMetaData); } } // add it to the EJB component description ejbComponentDescription.setSecurityRoles(roleMappings); } }
if(earSecurityRolesMetaData != null) { if(mergedMetaData.getSecurityRoles() == null) { mergedMetaData.setSecurityRoles(new SecurityRolesMetaData());
SecurityRolesMetaData securityRoles = metaData.getSecurityRoles(); if (securityRoles == null) { securityRoles = new SecurityRolesMetaData(); metaData.setSecurityRoles(securityRoles);
/** * Get the security roles by principal * * @param userName the principal name * @return the security roles containing the principal or null for no roles * @throws IllegalArgumentException for a null user name */ @Deprecated public SecurityRolesMetaData getSecurityRolesByPrincipal(String userName) { if (userName == null) throw new IllegalArgumentException("Null userName"); if (isEmpty()) return null; SecurityRolesMetaData result = new SecurityRolesMetaData(); for (SecurityRoleMetaData role : this) { if (role.hasPrincipal(userName)) result.add(role); } return result; }
/** * Get the security roles by principal * * @param userName the principal name * @return the security roles containing the principal or null for no roles * @throws IllegalArgumentException for a null user name */ @Deprecated public SecurityRolesMetaData getSecurityRolesByPrincipal(String userName) { if (userName == null) throw new IllegalArgumentException("Null userName"); if (isEmpty()) return null; SecurityRolesMetaData result = new SecurityRolesMetaData(); for (SecurityRoleMetaData role : this) { if (role.hasPrincipal(userName)) result.add(role); } return result; }
/** * @see org.jboss.webservices.integration.tomcat.AbstractSecurityMetaDataAccessorEJB#getSecurityRoles(Deployment) * * @param dep webservice deployment * @return security roles associated with EJB 21 deployment */ public SecurityRolesMetaData getSecurityRoles(final Deployment dep) { final WebServiceDeployment wsDeployment = WSHelper.getRequiredAttachment(dep, WebServiceDeployment.class); final SecurityRolesMetaData securityRolesMD = new SecurityRolesMetaData(); final Iterator<WebServiceDeclaration> ejbContainers = wsDeployment.getServiceEndpoints().iterator(); while (ejbContainers.hasNext()) { final WebServiceDeclaration ejbContainer = ejbContainers.next(); final RolesAllowed allowedRoles = ejbContainer.getAnnotation(RolesAllowed.class); final boolean hasAllowedRoles = allowedRoles != null; if (hasAllowedRoles) { for (final String roleName : allowedRoles.value()) { final SecurityRoleMetaData securityRoleMD = new SecurityRoleMetaData(); securityRoleMD.setRoleName(roleName); securityRolesMD.add(securityRoleMD); } } } return securityRolesMD; }
/** * @see org.jboss.webservices.integration.tomcat.AbstractSecurityMetaDataAccessorEJB#getSecurityRoles(Deployment) * * @param dep webservice deployment * @return security roles associated with EJB 21 deployment */ public SecurityRolesMetaData getSecurityRoles(final Deployment dep) { final WebServiceDeployment wsDeployment = WSHelper.getRequiredAttachment(dep, WebServiceDeployment.class); final SecurityRolesMetaData securityRolesMD = new SecurityRolesMetaData(); final Iterator<WebServiceDeclaration> ejbContainers = wsDeployment.getServiceEndpoints().iterator(); while (ejbContainers.hasNext()) { final WebServiceDeclaration ejbContainer = ejbContainers.next(); final RolesAllowed allowedRoles = ejbContainer.getAnnotation(RolesAllowed.class); final boolean hasAllowedRoles = allowedRoles != null; if (hasAllowedRoles) { for (final String roleName : allowedRoles.value()) { final SecurityRoleMetaData securityRoleMD = new SecurityRoleMetaData(); securityRoleMD.setRoleName(roleName); securityRolesMD.add(securityRoleMD); } } } return securityRolesMD; }
/** * @see org.jboss.webservices.integration.tomcat.AbstractSecurityMetaDataAccessorEJB#getSecurityRoles(Deployment) * * @param dep webservice deployment * @return security roles associated with EJB 21 deployment */ public SecurityRolesMetaData getSecurityRoles(final Deployment dep) { final WebServiceDeployment wsDeployment = WSHelper.getRequiredAttachment(dep, WebServiceDeployment.class); final SecurityRolesMetaData securityRolesMD = new SecurityRolesMetaData(); final Iterator<WebServiceDeclaration> ejbContainers = wsDeployment.getServiceEndpoints().iterator(); while (ejbContainers.hasNext()) { final WebServiceDeclaration ejbContainer = ejbContainers.next(); final RolesAllowed allowedRoles = ejbContainer.getAnnotation(RolesAllowed.class); final boolean hasAllowedRoles = allowedRoles != null; if (hasAllowedRoles) { for (final String roleName : allowedRoles.value()) { final SecurityRoleMetaData securityRoleMD = new SecurityRoleMetaData(); securityRoleMD.setRoleName(roleName); securityRolesMD.add(securityRoleMD); } } } return securityRolesMD; }
public SecurityRolesMetaData getSecurityRoles(final Deployment dep) { final SecurityRolesMetaData securityRolesMD = new SecurityRolesMetaData(); Set<String> firstEndpointDeclaredSecurityRoles = null; for (final EJBEndpoint ejbEndpoint : getEjbEndpoints(dep)) { final Set<String> declaredSecurityRoles = ejbEndpoint.getDeclaredSecurityRoles(); if (firstEndpointDeclaredSecurityRoles == null) { firstEndpointDeclaredSecurityRoles = declaredSecurityRoles; } else if (!firstEndpointDeclaredSecurityRoles.equals(declaredSecurityRoles)) { WSLogger.ROOT_LOGGER.multipleEndpointsWithDifferentDeclaredSecurityRoles(); } //union of declared security roles from all endpoints... for (final String roleName : declaredSecurityRoles) { final SecurityRoleMetaData securityRoleMD = new SecurityRoleMetaData(); securityRoleMD.setRoleName(roleName); securityRolesMD.add(securityRoleMD); } } return securityRolesMD; }
public SecurityRolesMetaData getSecurityRoles(final Deployment dep) { final SecurityRolesMetaData securityRolesMD = new SecurityRolesMetaData(); Set<String> firstEndpointDeclaredSecurityRoles = null; for (final EJBEndpoint ejbEndpoint : getEjbEndpoints(dep)) { final Set<String> declaredSecurityRoles = ejbEndpoint.getDeclaredSecurityRoles(); if (firstEndpointDeclaredSecurityRoles == null) { firstEndpointDeclaredSecurityRoles = declaredSecurityRoles; } else if (!firstEndpointDeclaredSecurityRoles.equals(declaredSecurityRoles)) { WSLogger.ROOT_LOGGER.multipleEndpointsWithDifferentDeclaredSecurityRoles(); } //union of declared security roles from all endpoints... for (final String roleName : declaredSecurityRoles) { final SecurityRoleMetaData securityRoleMD = new SecurityRoleMetaData(); securityRoleMD.setRoleName(roleName); securityRolesMD.add(securityRoleMD); } } return securityRolesMD; }
public SecurityRolesMetaData getSecurityRoles(final Deployment dep) { final SecurityRolesMetaData securityRolesMD = new SecurityRolesMetaData(); Set<String> firstEndpointDeclaredSecurityRoles = null; for (final EJBEndpoint ejbEndpoint : getEjbEndpoints(dep)) { final Set<String> declaredSecurityRoles = ejbEndpoint.getDeclaredSecurityRoles(); if (firstEndpointDeclaredSecurityRoles == null) { firstEndpointDeclaredSecurityRoles = declaredSecurityRoles; } else if (!firstEndpointDeclaredSecurityRoles.equals(declaredSecurityRoles)) { WSLogger.ROOT_LOGGER.multipleEndpointsWithDifferentDeclaredSecurityRoles(); } //union of declared security roles from all endpoints... for (final String roleName : declaredSecurityRoles) { final SecurityRoleMetaData securityRoleMD = new SecurityRoleMetaData(); securityRoleMD.setRoleName(roleName); securityRolesMD.add(securityRoleMD); } } return securityRolesMD; }
@Override protected void handleDeploymentDescriptor(DeploymentUnit deploymentUnit, DeploymentReflectionIndex deploymentReflectionIndex, Class<?> componentClass, EJBComponentDescription ejbComponentDescription) throws DeploymentUnitProcessingException { final SecurityRolesMetaData roleMappings = new SecurityRolesMetaData(); final EjbJarMetaData ejbJarMetaData = deploymentUnit.getAttachment(EjbDeploymentAttachmentKeys.EJB_JAR_METADATA); if (ejbJarMetaData != null) { final AssemblyDescriptorMetaData assemblyDescriptorMetaData = ejbJarMetaData.getAssemblyDescriptor(); if (assemblyDescriptorMetaData != null) { // get the mapping between principal to rolename, defined in the assembly descriptor final List<SecurityRoleMetaData> securityRoleMetaDatas = assemblyDescriptorMetaData.getAny(SecurityRoleMetaData.class); if (securityRoleMetaDatas != null) { for (SecurityRoleMetaData securityRoleMetaData : securityRoleMetaDatas) { roleMappings.add(securityRoleMetaData); } } } } //Let us look at the ear metadata also DeploymentUnit parent = deploymentUnit.getParent(); if (parent != null) { final EarMetaData earMetaData = parent.getAttachment(Attachments.EAR_METADATA); if (earMetaData != null) { SecurityRolesMetaData earSecurityRolesMetaData = earMetaData.getSecurityRoles(); SecurityRolesMetaDataMerger.merge(roleMappings, roleMappings, earSecurityRolesMetaData); } } // add it to the EJB component description ejbComponentDescription.setSecurityRoles(roleMappings); } }
@Override public void process(WebMetaData metaData, Class<?> type) { super.process(metaData, type); EnvironmentRefsGroupMetaData env = new EnvironmentRefsGroupMetaData(); super.process(env, type); metaData.setJndiEnvironmentRefsGroup(env); // @RunAs ServletsMetaData servlets = metaData.getServlets(); if(servlets == null) { servlets = new ServletsMetaData(); metaData.setServlets(servlets); } super.processClass(servlets, type); // @DeclareRoles SecurityRolesMetaData securityRoles = metaData.getSecurityRoles(); if(securityRoles == null) { securityRoles = new SecurityRolesMetaData(); metaData.setSecurityRoles(securityRoles); } super.processClass(securityRoles, type); } }
if(securityRoles == null) securityRoles = new SecurityRolesMetaData(); metaData.setSecurityRoles(securityRoles);
if(securityRoles == null) securityRoles = new SecurityRolesMetaData(); metaData.setSecurityRoles(securityRoles);
if (earMetaData != null) { if (jbossWebMD.getSecurityRoles() == null) { jbossWebMD.setSecurityRoles(new SecurityRolesMetaData());
securityRoles = new SecurityRolesMetaData(); securityRoles.merge(override != null ? override.securityRoles : null, original != null ? original.securityRoles : null);
securityRoles = new SecurityRolesMetaData(); securityRoles.merge(override != null ? override.securityRoles : null, original != null ? original.securityRoles : null);
SecurityRolesMetaData securityRolesMetaData = new SecurityRolesMetaData(); merge(securityRolesMetaData, xml.getSecurityRoles(), annotation.getSecurityRoles()); merged.setSecurityRoles(securityRolesMetaData);
public static void merge(WebMetaData merged, WebMetaData xml, WebMetaData annotation) { //Merge the servlets meta data ServletsMetaData servletsMetaData = new ServletsMetaData(); merge(servletsMetaData,xml.getServlets(), annotation.getServlets()); merged.setServlets(servletsMetaData); //Security Roles SecurityRolesMetaData securityRolesMetaData = new SecurityRolesMetaData(); merge(securityRolesMetaData, xml.getSecurityRoles(), annotation.getSecurityRoles()); merged.setSecurityRoles(securityRolesMetaData); //Env EnvironmentRefsGroupMetaData environmentRefsGroup = new EnvironmentRefsGroupMetaData(); Environment xmlEnv = xml != null ? xml.getJndiEnvironmentRefsGroup() : null; Environment annEnv = annotation != null ? annotation.getJndiEnvironmentRefsGroup() : null; environmentRefsGroup.merge(xmlEnv,annEnv, "", "", false); merged.setJndiEnvironmentRefsGroup(environmentRefsGroup); //Message Destinations MessageDestinationsMetaData messageDestinations = new MessageDestinationsMetaData(); messageDestinations.merge(xml.getMessageDestinations(), annotation.getMessageDestinations()); merged.setMessageDestinations(messageDestinations); //merge annotation mergeIn(merged,annotation); //merge xml override mergeIn(merged,xml); }