我尝试汇集我的 ldap 连接。对于 Java 中的配置,我发现了这个: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);
}
如何在 AuthenticationManagerBuilder 中设置我的 PoolingContextSource?它不是适用的类型。当我在没有 PoolingContextSource Bean 的情况下使用 ldapContextSource() 时,只要连接不超时,它就可以工作:(
有人可以给我一个提示吗?