使用Spring LDAP完成LDAP认证报错错误码49,如何排查解决?
问题根因
你当前遇到的LDAP: error code 49 - data 52e是Active Directory场景下的典型错误,含义是绑定账号的凭证无效,本质是你用错了Spring LDAP的配置项,导致绑定AD的账号密码没有被正确加载。
具体错误点
你在application.properties中使用的spring.ldap.embedded.*是Spring Boot启动内嵌LDAP服务器的专属配置,仅当你需要在项目中内置一个LDAP服务时生效。你对接的是外部独立的AD域服务,这类配置不会被Spring LDAP的外部连接自动配置读取,导致连接LDAP时没有传入正确的绑定账号密码,触发认证失败。
修复方案
1. 替换正确的LDAP配置
将application.properties中的配置替换为外部LDAP服务的标准配置项:
spring.ldap.urls=ldap://server:389 # 绑定账号支持两种格式:1. UPN格式(和你原有JNDI逻辑对齐) 2. 完整DN格式 spring.ldap.username=ceadministrator@domain.net # 完整DN写法示例:spring.ldap.username=cn=ceadministrator,dc=domain,dc=net spring.ldap.password=你的管理员密码 spring.ldap.base=dc=domain,dc=net # 对齐原有JNDI的简单认证配置 spring.ldap.authentication=simple
2. 可选代码简化
你已经在配置中指定了spring.ldap.base,查询代码中LdapQuery的.base(ldapConfig.getBase())可以省略,LdapTemplate会自动读取全局base配置,不省略也不影响正常运行。
改完配置后重启服务即可正常完成LDAP绑定和查询操作。
内容的提问来源于stack exchange,提问作者Ricardo Álvarez
相关产品推荐
相关产品推荐

