You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot 3迁移后Active Directory集成报InvalidNameException问题求助

Spring Boot 3.0.8迁移AD集成时出现LDAP错误码34的问题

将基于Spring Boot 2.1的旧代码迁移至Spring Boot 3.0.8,其中包含Active Directory(AD)集成模块。原Spring Boot 2.1中的AD代码运行正常,但迁移完成后出现错误:org.springframework.ldap.InvalidNameException: [LDAP: error code 34 - invalid DN],且AD端未做任何改动。

旧代码(Spring Boot 2.1)

@Autowired
public void configure(AuthenticationManagerBuilder auth) throws Exception {

    ActiveDirectoryLdapAuthenticationProvider adProvider = new ActiveDirectoryLdapAuthenticationProvider(domain,
            ldapUrls, ldapBaseDn);
    adProvider.setConvertSubErrorCodesToExceptions(true);
    adProvider.setUseAuthenticationRequestCredentials(true);

    if (ldapUserDnPattern != null && ldapUserDnPattern.trim().length() > 0) {
        adProvider.setSearchFilter("(&(objectClass=user)(sAMAccountName={1}))");
        // adProvider.setSearchFilter(ldapUserDnPattern);
    }

    auth.authenticationProvider(adProvider);
    auth.eraseCredentials(false);

}

新代码(Spring Boot 3.0.8)

@Bean
public AuthenticationManager authManager(HttpSecurity http) throws Exception {
    ActiveDirectoryLdapAuthenticationProvider adProvider =
            new ActiveDirectoryLdapAuthenticationProvider(domain, ldapUrls,ldapBaseDn);
    

    adProvider.setConvertSubErrorCodesToExceptions(true);
    adProvider.setUseAuthenticationRequestCredentials(true);
    adProvider.setSearchFilter("(&(objectClass=user)(sAMAccountName={1}))");

    AuthenticationManagerBuilder authenticationManagerBuilder =
            http.getSharedObject(AuthenticationManagerBuilder.class);
    authenticationManagerBuilder.authenticationProvider(adProvider);
    return authenticationManagerBuilder.build();
}

已通过Apache Directory Studio验证domain、ldapUrls和ldapBaseDn配置正确,但因公司政策无法提供具体值,尝试多种解决方案均无效。

内容的提问来源于stack exchange,提问作者Praguru 14

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 23:41:00