Spring Boot Security и LDAP: PoolingContextSource

Я пытаюсь объединить свои подключения ldap. Для конфигурации в Java я нашел это: Spring LDAP PoolingContextSource через аннотацию

@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);
}

Как я могу установить свой PoolingContextSource в AuthenticationManagerBuilder? Это не применимый тип. Когда я использую ldapContextSource() без бина PoolingContextSource, он работает до тех пор, пока не истекает время ожидания соединения :(

Может ли кто-нибудь дать мне подсказку?


person Yannic Klem    schedule 21.05.2015    source источник
comment
Удачи с этим? Вы нашли решение?   -  person Priyank Thakkar    schedule 13.03.2018
comment
к сожалению, нет, но я не приложил к этому особых усилий после того, как задал вопрос.   -  person Yannic Klem    schedule 13.03.2018