2017-08-12 12 views
0

私は私のセキュリティXMLでは春のLDAPベースの構成

ou=studentBase,dc=example,dc=com 

ようなディレクトリ構造を持っている私は

<bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource"> 
    <property name="base" value="ou=studentBase,dc=example,dc=com" /> 
    <property name="url" value="ldaps://serveraddress:port" /> 
    <property name="userDn" value="username" /> 
    <property name="password" value="pwd" /> 
</bean> 

を持っている私は、コンテナオブジェクト

cn=container,cn=schema,cn=configuration,dc=example,dc=com 

の属性を照会するとしていますベースを

に設定して検索します。
cn=container,cn=schema,cn=configuration,dc=example,dc=com 

ldapTemplate.search(base, filter.encode(), new AttributesMapper()){ 
} 

は私が

org.springframework.ldap.NameNotFoundException: [LDAP: error code 32 - 0000208D: NameErr: DSID-03100238, problem 2001 (NO_OBJECT), data 0, best match of: 'ou=studentBase,dc=example,dc=com']; nested exception is 
javax.naming.NameNotFoundException: [LDAP: error code 32 - 0000208D: NameErr: DSID-03100238, problem 2001 (NO_OBJECT), data 0, best match of: 
    'ou=studentBase,dc=example,dc=com']; remaining name cn=container,cn=schema,cn=configuration,dc=example,dc=com 

問題は、私はXML設定ファイルに入れベース以外のものを検索するためのベースを変更することはできませんでエラーが発生します。私もSearchControlsを試してみましたが、同じ問題がありました。どのようにして別のベースで検索できますか?私はアプリケーション全体を書いており、この問題を解決することはできません。

<bean id="schemaContextSource" class="org.springframework.ldap.core.support.LdapContextSource"> 
    <property name="base" value="cn=configuration,dc=example,dc=com" /> 
    <property name="url" value="ldaps://serveraddress:port" /> 
    <property name="userDn" value="username" /> 
    <property name="password" value="pwd" /> 
</bean> 

し、使用userDNが変更/ ないはと同じユーザーである必要があり、オンラインの構成を、表示する権限を持っていることを確認してください:あなたは、構成検索のための別のcontextSourceを追加する必要が

答えて

0

セキュリティ上の理由から、contextSource

しかし、私はアプリケーションがこれをやりたいと思うことが非常に奇妙であることがわかります。

関連する問題