Active directory CAS AD LDAP 32错误

Active directory CAS AD LDAP 32错误,active-directory,ldap,cas,Active Directory,Ldap,Cas,当我尝试使用CAS登录时,我看到了这一点,CAS正在通过LDAP对AD进行身份验证 SEVERE: Servlet.service() for servlet cas threw exception javax.naming.NameNotFoundException: [LDAP: error code 32 - 0000208D: NameErr: DSID-031001E5, problem 2001 (NO_OBJECT), data 0, best match of: '' ]

当我尝试使用CAS登录时,我看到了这一点,CAS正在通过LDAP对AD进行身份验证

SEVERE: Servlet.service() for servlet cas threw exception
javax.naming.NameNotFoundException: [LDAP: error code 32 - 0000208D: NameErr: DSID-031001E5, problem 2001 (NO_OBJECT), data 0, best match of:
    ''
]; remaining name '/'
    at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3092)
    at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3013)
    at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2820)
    at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1829)
    at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1752)
    at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:368)
    at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:338)
    at javax.naming.directory.InitialDirContext.search(InitialDirContext.java:257)
    at org.springframework.ldap.core.LdapTemplate$3.executeSearch(LdapTemplate.java:231)
    at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:293)
    at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:237)
    at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:588)
    at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:546)
    at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:401)
    at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:421)
    at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:441)
到那时为止,我已经通过BindLdapAuthenticationHandler进行了身份验证,解决了这个问题,它生成了一个查询生成器,然后抛出了这个


我认为它在试图恢复属性时失败了。为什么
剩余名称“/”

LDAP错误代码32表示“没有这样的对象”,在这种情况下,可能搜索的基本对象不存在。

剩余名称是在DIT的某个级别上实际找不到的DN的一部分。例如,当您搜索
cn=johns,ou=marketing,dc=example,dc=com
ou=marketing,dc=example,dc=com
存在,但
cn=johns
内部不存在
ou=marketing
,则还押名称将是
cn=johns


“/”看起来不是有效的RDN。我建议您验证作为搜索库传递的内容。很可能是无效的DN字符串。

我可以确认这是问题的原因,是一个空的基对象。我得到的是一个空的剩余名称,即“”,它看起来更奇怪,描述了问题(实际上它有一个开放的赏金)