@ -22,6 +22,7 @@ import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass ;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean ;
import org.springframework.boot.context.properties.EnableConfigurationProperties ;
import org.springframework.boot.context.properties.PropertyMapper ;
import org.springframework.context.annotation.Bean ;
import org.springframework.context.annotation.Configuration ;
import org.springframework.core.env.Environment ;
@ -55,12 +56,14 @@ public class LdapAutoConfiguration {
@ConditionalOnMissingBean
public LdapContextSource ldapContextSource ( ) {
LdapContextSource source = new LdapContextSource ( ) ;
source . setUserDn ( this . properties . getUsername ( ) ) ;
source . setPassword ( this . properties . getPassword ( ) ) ;
source . setAnonymousReadOnly ( this . properties . getAnonymousReadOnly ( ) ) ;
source . setBase ( this . properties . getBase ( ) ) ;
source . setUrls ( this . properties . determineUrls ( this . environment ) ) ;
source . setBaseEnvironmentProperties ( Collections . unmodifiableMap ( this . properties . getBaseEnvironment ( ) ) ) ;
PropertyMapper propertyMapper = PropertyMapper . get ( ) . alwaysApplyingWhenNonNull ( ) ;
propertyMapper . from ( this . properties . getUsername ( ) ) . to ( source : : setUserDn ) ;
propertyMapper . from ( this . properties . getPassword ( ) ) . to ( source : : setPassword ) ;
propertyMapper . from ( this . properties . getAnonymousReadOnly ( ) ) . to ( source : : setAnonymousReadOnly ) ;
propertyMapper . from ( this . properties . getBase ( ) ) . to ( source : : setBase ) ;
propertyMapper . from ( this . properties . determineUrls ( this . environment ) ) . to ( source : : setUrls ) ;
propertyMapper . from ( this . properties . getBaseEnvironment ( ) ) . to (
( baseEnvironment ) - > source . setBaseEnvironmentProperties ( Collections . unmodifiableMap ( baseEnvironment ) ) ) ;
return source ;
}