当前位置: 首页 > 知识库问答 >
问题:

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

贺刚毅
2023-03-14

我们正在尝试使用Spring security来根据我们的企业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之前,我已经使用 DefaultSpringSecurityContextSource实现了这一功能。在配置DefaultSpringSecurityContextSourcebean时,我可以指定userdn/password。有人能告诉我如何在使用ActiveDirectoryLDAPAuthenticationProvider配置时指定userDn和密码吗?

共有1个答案

商池暝
2023-03-14

看起来您可能对ActiveDirectoryLDAPAuthenticationProvider做什么以及如何配置它有点困惑。它使用类似电子邮件的名称进行绑定,格式为user@domain.com,其中domain.com是您在第一个构造函数中提供的参数。它不使用标准LDAP DN。这是特定于Active Directory的,而不是标准LDAP的一部分。您可能还希望查看该类的源代码和Javadoc。

如果您的安装程序中已经有了标准的LDAP身份验证配置,那么不清楚您为什么要更改。您可能最好坚持现有的,因为它不能与ActiveDirectoryLDAPAuthenticationProvider直接兼容。

 类似资料:
  • 问题内容: 我正在使用静态方法在类中使用javax.crypto加密和解密消息。我有2个使用cipher和dcipher的静态方法,以完成他们应该做的事情,我需要初始化一些变量(也是静态的)。但是,当我尝试使用它时,我得到的InvalidKeyException与我提供给ecipher.init(…)的参数。我找不到原因。这是代码: 问题答案: AES-256(和AES-192)要求为JRE安装无

  • 我有一个flutter应用程序,我试图使用firebase电子邮件无密码登录。发送部分正在工作,但当我打开链接时,我得到一个错误: 但是,actioncode设置中的handleCodeInApp参数为true。 Uri在这里创建: FirebaseAuth中的isSignInWithEmailLink检查在我使用的^0.20.0+1版本中不能正常工作。有关如何修复此问题,请参考https://g

  • 第一次在Windows 7x64上启动IntelliJ IDEA Community Edition 14.0.2时,我在试图导入示例libGDX gradle配置时收到以下错误: IntelliJ14提供的javaHome似乎无效 IDE正在中查找java运行时,但是这些文件存在于这个目录之外的子目录中:。 我的解决方案是将的内容复制到上一级,这解决了问题--但感觉不是正确的做法。 这被记录为一

  • 这真的是我第一次尝试开始开发Android。我正在使用IntelliJ IDEA 15.0.4。我尝试过为我的问题寻找解决方案,但我似乎找不到我正在处理的确切问题。 我一直得到以下错误。 错误:提供的 javaHome 似乎无效。我找不到java可执行文件。尝试的位置: C:\Program Files (x86)\Android\android-sdk\bin\java.exe 我真的不知道从哪

  • 我是Java和Vert.x的新手 我收到一个编译器错误。对于类型HttpRequest我做错了什么,方法basicAuthentication(String,String)未定义。

  • 问题内容: 我正在使用Java自动键入内容的系统上。我是这样写的: 但我收到此错误: 上 问题答案: 您的键盘布局应有一个@符号的键,此代码才能起作用。可以? 如果您的键盘设置为美式布局,则需要输入shift + 2来输​​入@符号,并且必须使用VK_2代替VK_AT。