【问题标题】:CAS AD LDAP 32 errorCAS AD LDAP 32 错误
【发布时间】:2011-12-31 15:23:30
【问题描述】:

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

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 进行身份验证,解决后,它生成了一个查询生成器,然后将其丢弃。

我认为它在尝试取回属性时失败了。为什么是remaining name '/'

【问题讨论】:

    标签: active-directory ldap cas


    【解决方案1】:

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

    【讨论】:

    • 我可以确认这是问题的原因,一个空的基础对象。
    【解决方案2】:

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

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

    【讨论】:

    • 我得到了一个空的剩余名称,即“”,看起来更奇怪,问题描述为here(实际上它有一个开放的赏金)
    猜你喜欢
    • 2012-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-19
    • 2012-12-05
    • 1970-01-01
    • 2012-06-01
    相关资源
    最近更新 更多