java - Spring Ldap LDAP : error code 32 - 0000208D

标签 java spring spring-mvc active-directory ldap

我正在开发使用 LDAP 进行身份验证的应用程序。我正在使用 spring LDAP 模板进行身份验证,但收到以下响应

{
    "message": "[LDAP: error code 32 - 0000208D: NameErr: DSID-031001E5, problem 2001 (NO_OBJECT), data 0, best match of:\n\t''\n\u0000]; nested exception is javax.naming.NameNotFoundException: [LDAP: error code 32 - 0000208D: NameErr: DSID-031001E5, problem 2001 (NO_OBJECT), data 0, best match of:\n\t''\n\u0000]; remaining name '/'"
}

下面是spring的配置

<beans:bean id="contextSource"
    class="org.springframework.ldap.core.support.LdapContextSource">
    <beans:property name="base" value="" />
    <beans:property name="url" value="<LDAP-URL>" />
    <beans:property name="userDn" value="<USER-DN>" />
    <beans:property name="password" value="<PASSWORD>" />
</beans:bean>

<beans:bean id="ldapTemplate" class="org.springframework.ldap.core.LdapTemplate">
    <beans:constructor-arg ref="contextSource" />
</beans:bean>

Java 代码:

AndFilter filter = new AndFilter();
filter.and(new EqualsFilter("objectclass", "person")).and(new       EqualsFilter("sAMAccountName", username));
boolean result = ldapTemplate.authenticate(LdapUtils.emptyLdapName(),               filter.toString(), password);

我是 LDAP 新手,任何帮助或示例都会很棒。

最佳答案

当您已经设置了基础时,您无需在进一步的操作中指定完整的 dn。您确定服务器的规范正确吗?错误 32 通常是搞乱了前缀或目录配置!

关于java - Spring Ldap LDAP : error code 32 - 0000208D,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33951681/

相关文章:

java - hibernate : Inserting data set missing parameters to null in database

java - java中泛型类型的组成

Java OPC-UA 客户端 Eclipse Milo 端点 URL 更改为本地主机

Java:在 Graphics 中使用 setClip 会更有效率吗?

java - 试图理解为什么 @transactional(noROllBackFor .... 不起作用

java - 通过在运行时传入 "profile"动态构造 bean

java - 将 CompletableFuture 与 @Async 一起使用会为 spring boot API 返回空响应

java - 如何创建存储库类的 bean

java - Spring mvc,制作菜单数据对象

java - Spring安全-httpbasic不工作: What am i doing wrong?