Example usage for org.springframework.security.config Elements JEE

List of usage examples for org.springframework.security.config Elements JEE

Introduction

In this page you can find the example usage for org.springframework.security.config Elements JEE.

Prototype

String JEE

To view the source code for org.springframework.security.config Elements JEE.

Click Source Link

Usage

From source file:org.springframework.security.config.http.AuthenticationConfigBuilder.java

void createJeeFilter(BeanReference authManager) {
    final String ATT_MAPPABLE_ROLES = "mappable-roles";

    Element jeeElt = DomUtils.getChildElementByTagName(httpElt, Elements.JEE);
    RootBeanDefinition filter = null;//from w  ww  .j  av  a2 s .c om

    if (jeeElt != null) {
        BeanDefinitionBuilder filterBuilder = BeanDefinitionBuilder
                .rootBeanDefinition(J2eePreAuthenticatedProcessingFilter.class);
        filterBuilder.getRawBeanDefinition().setSource(pc.extractSource(jeeElt));
        filterBuilder.addPropertyValue("authenticationManager", authManager);

        BeanDefinitionBuilder adsBldr = BeanDefinitionBuilder
                .rootBeanDefinition(J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource.class);
        adsBldr.addPropertyValue("userRoles2GrantedAuthoritiesMapper",
                new RootBeanDefinition(SimpleAttributes2GrantedAuthoritiesMapper.class));

        String roles = jeeElt.getAttribute(ATT_MAPPABLE_ROLES);
        Assert.hasLength(roles, "roles is expected to have length");
        BeanDefinitionBuilder rolesBuilder = BeanDefinitionBuilder.rootBeanDefinition(StringUtils.class);
        rolesBuilder.addConstructorArgValue(roles);
        rolesBuilder.setFactoryMethod("commaDelimitedListToSet");

        RootBeanDefinition mappableRolesRetriever = new RootBeanDefinition(
                SimpleMappableAttributesRetriever.class);
        mappableRolesRetriever.getPropertyValues().addPropertyValue("mappableAttributes",
                rolesBuilder.getBeanDefinition());
        adsBldr.addPropertyValue("mappableRolesRetriever", mappableRolesRetriever);
        filterBuilder.addPropertyValue("authenticationDetailsSource", adsBldr.getBeanDefinition());

        filter = (RootBeanDefinition) filterBuilder.getBeanDefinition();

        createPrauthEntryPoint(jeeElt);
        createJeeProvider();
    }

    jeeFilter = filter;
}

From source file:org.springframework.security.config.http.AuthenticationConfigBuilder.java

private void createJeeProvider() {
    Element jeeElt = DomUtils.getChildElementByTagName(httpElt, Elements.JEE);
    BeanDefinition provider = new RootBeanDefinition(PreAuthenticatedAuthenticationProvider.class);

    RootBeanDefinition uds;/*from  w  ww  .  ja v a  2 s  .  c o  m*/
    if (StringUtils.hasText(jeeElt.getAttribute(ATT_USER_SERVICE_REF))) {
        uds = new RootBeanDefinition();
        uds.setFactoryBeanName(BeanIds.USER_DETAILS_SERVICE_FACTORY);
        uds.setFactoryMethodName("authenticationUserDetailsService");
        uds.getConstructorArgumentValues().addGenericArgumentValue(jeeElt.getAttribute(ATT_USER_SERVICE_REF));
    } else {
        uds = new RootBeanDefinition(PreAuthenticatedGrantedAuthoritiesUserDetailsService.class);
    }

    provider.getPropertyValues().addPropertyValue("preAuthenticatedUserDetailsService", uds);

    jeeProviderRef = new RuntimeBeanReference(pc.getReaderContext().registerWithGeneratedName(provider));
}