package alien4cloud.security.spring.ldap;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;
import org.springframework.ldap.core.LdapTemplate;
import org.springframework.ldap.core.support.LdapContextSource;
@Conditional(LdapCondition.class)
@Configuration
public class LdapConfiguration {
@Value("${ldap.anonymousReadOnly}")
private boolean anonymousReadOnly;
@Value("${ldap.url}")
private String url;
@Value("${ldap.base}")
private String base;
@Value("${ldap.userDn}")
private String userDn;
@Value("${ldap.password}")
private String password;
@Bean
public LdapContextSource ldapContextSource() {
LdapContextSource contextSource = new LdapContextSource();
contextSource.setAnonymousReadOnly(anonymousReadOnly);
contextSource.setUrl(url);
contextSource.setBase(base);
contextSource.setUserDn(userDn);
contextSource.setPassword(password);
return contextSource;
}
@Bean
public LdapTemplate ldapTemplate(LdapContextSource contextSource) {
LdapTemplate ldapTemplate = new LdapTemplate(contextSource);
return ldapTemplate;
}
}