gpt4 book ai didi

spring-security - Spring ActiveDirectoryLdapAuthenticationProvider handleBindException - 提供的密码无效错误

转载 作者:行者123 更新时间:2023-12-04 00:08:37 24 4
gpt4 key购买 nike

我们正在尝试使用 Spring 安全性来针对我们的企业 LDAP 进行身份验证。我正在使用 ActiveDirectoryLdapAuthenticationProvider .以下是 Spring 配置文件的片段:

<security:authentication-manager erase-credentials="true">
<security:authentication-provider ref="ldapActiveDirectoryAuthProvider"/>
</security:authentication-manager>

<bean id="ldapActiveDirectoryAuthProvider" class="org.springframework.security.ldap.authentication.ad.ActiveDirectoryLdapAuthenticationProvider">
<constructor-arg value="DC=xxx,DC=ds,DC=yyy,DC=com" />
<constructor-arg value="ldap://xxx.ds.yyy.com:389" />
<property name="convertSubErrorCodesToExceptions" value="true"/>
</bean>

我得到:ActiveDirectoryLdapAuthenticationProvider handleBindException Active Directory 身份验证失败:提供的密码无效错误。

我的理解是,这是因为 LDAP 绑定(bind)失败,因为它正在寻找用户 DN/凭据。我们如何在配置文件中指定这些信息?

在使用 ActiveDirectoryLdapAuthenticationProvider 之前,我已经使用 <ldap-authentication-provider> 进行了这项工作和 DefaultSpringSecurityContextSource .我能够在配置 DefaultSpringSecurityContextSource 时指定用户 DN/密码 bean 。有人能告诉我如何在使用 ActiveDirectoryLdapAuthenticationProvider 进行配置时指定用户名和密码吗? ?

最佳答案

看起来您可能对 ActiveDirectoryLdapAuthenticationProvider 的作用和 how to configure it 有点困惑。 .它使用 user@domain.com 形式的类似电子邮件的名称进行绑定(bind),其中 domain.com 是您在第一个构造函数中提供的参数。它不使用标准的 LDAP DN。这是特定于 Active Directory 的,而不是标准 LDAP 的一部分。您可能还想看看 the source和类的 Javadoc。

如果您已经有一个标准的 LDAP 身份验证配置与您的设置一起使用,那么不清楚您为什么要更改。你可能最好坚持你所拥有的,因为它不会直接与 ActiveDirectoryLdapAuthenticationProvider 兼容。

关于spring-security - Spring ActiveDirectoryLdapAuthenticationProvider handleBindException - 提供的密码无效错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21069390/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com