2017-03-08 11 views
0

私の中央認証サービス(CAS)から接続を確立して、アクティブディレクトリ上のユーザの身元を確認したいとします。 しかし、私は次のエラーで自分自身を見つける:LDAPバインド認証ハンドラ

[LDAP: error code 1 - 000004DC: LdapErr: DSID-0C0906E8, how: In order to perform this operation a successful bind must be completed on the connection., Data 0, v1db1]; Remaining name 'cn = Users, dc = aimed, dc = local' 

誰もがこの問題について知っている場合は、私を助けてください。 は、ここに私のコードです:

<!-- LDAP bind Authentication Handler +--> 
<bean class="org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler"> 
<property name="filter" value="uid=%u" /> 
<property name="searchBase" value="cn=Users,dc=aimed,dc=local" /> 
<property name="contextSource" ref="LDAPcontextSource" /> 
<property name="ignorePartialResultException" value="yes" /> <!-- fix because of how AD returns results +--> 
</bean> 
</list> 
</property> 
</bean> 

<bean id="LDAPcontextSource" class="org.springframework.ldap.core.support.LdapContextSource"> 
<property name="pooled" value="false"/> 
<property name="urls"> 
<list> 
<value>ldap://server.aimed.local/ </value> 
</list> 
</property> 
<property name="userDn" value="uid=AIMED\aimed, dc=aimed, dc=local"/> 
<property name="password" value="system_123"/> 
<property name="baseEnvironmentProperties"> 
<map> 
<entry> 
<key> 
<value>java.naming.security.authentication</value> 
</key> 
<value>simple</value> 
</entry> 
</map> 
</property> 
</bean> 

答えて

0

BindLdapAuthenticationHandlerは、二相(ルックアップ&バインド)認証を実装していますが、Active Directoryは、デフォルトごとに匿名アクセスを許可していません。まず、サービスアカウントを使用してバインドする必要があります。また、ユーザーがbaseDNのすべての子である場合は、FastBindLdapAuthenticationHandlerに切り替えることができます。