2011-11-17 33 views
8

LDAP経由でADに対して認証しているCASでログインしようとすると、これが表示されます。私は解決し、BindLdapAuthenticationHandlerによって認証されたその時点までにCAS AD LDAP 32エラー

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) 

、クエリビルダを生成して、これを投げました。

属性を取得しようとすると失敗すると思います。 remaining name '/'はなぜですか?

答えて

7

残りの名前は、DITの特定のレベルで実際には検出されなかったDNの一部です。たとえば、cn=johns,ou=marketing,dc=example,dc=comou=marketing,dc=example,dc=comを検索した場合、の中にou=marketingが存在しない場合は、修復名はcn=johnsとなります。

'/'は有効なRDNのようには見えません。検索ベースとして渡すものを確認することをお勧めします。おそらく、それは無効なDNストリングです。

+0

代わりに空の残っている名前、つまり、見知らぬ人に見える ""があります。問題は[ここ](http://stackoverflow.com/q/39372374/5606016)で説明されています(実際にはオープンバウンティがあります) –

3

LDAPエラーコード32は「このようなオブジェクトがありません」という意味で、この場合は検索の基本オブジェクトが存在しない可能性があります。

+0

これが問題の原因であることを確認できます。空のベースオブジェクトです。 – sorin

関連する問題