2

I try to pool my ldap Connections. For Configuration in Java i found this: Spring LDAP PoolingContextSource via annotation

@Bean
public LdapContextSource ldapContextSource() {

    LdapContextSource contextSource = new LdapContextSource();

    contextSource.setUrl(ldapUrl);
    contextSource.setBase(ldapBase);

    return contextSource;
}


@Bean
public ContextSource contextSource() {

    PoolingContextSource poolingContextSource = new PoolingContextSource();

    poolingContextSource.setDirContextValidator(new DefaultDirContextValidator());
    poolingContextSource.setContextSource(ldapContextSource());
    poolingContextSource.setTestOnBorrow(true);
    poolingContextSource.setTestWhileIdle(true);

    return poolingContextSource;
}


@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception { 
    auth.ldapAuthentication()
        .contextSource(contextSource()) //Here is the Problem
        .userDnPatterns(ldapUserDnPatterns)
        .groupSearchBase(ldapGroupSearchBase)
        .groupSearchFilter(ldapGroupSearchFilter)
        .userSearchBase(ldapUserSearchBase);
}

How can i set my PoolingContextSource in the AuthenticationManagerBuilder? It is no applicable type. When i use ldapContextSource() without the PoolingContextSource Bean, it works as long as the connection doesn't timeout :(

Could somebody give me a hint?

Community
  • 1
  • 1
Yannic Klem
  • 6,051
  • 3
  • 38
  • 74

0 Answers0