0

Spring Security を使用してユーザーを検証できません。BadCredentailException が発生します。私の春のセキュリティ構成は次のとおりです。

<bean id="contextSource"
      class="org.springframework.security.ldap.DefaultSpringSecurityContextSource">
    <constructor-arg value="ldaps://ldaps.prod.sam.com:636"/>
    <property name="userDn" value="CN=!testUser1,OU=Service Accounts,OU=User Accounts,DC=prod,DC=sam,DC=com"/>
    <property name="password" value="!!testPass1!!"/>
    <property name="referral" value="follow"/>
</bean>
<bean class="org.springframework.security.ldap.search.FilterBasedLdapUserSearch" id="ldapSearchBean">
    <constructor-arg value="OU=User Accounts,DC=prod,DC=sam,DC=com"/>
    <constructor-arg value="(sAMAccountName={0})"/>
    <constructor-arg ref="contextSource"/>
    <property name="searchSubtree" value="true"/>
</bean>
<bean class="org.springframework.security.ldap.authentication.BindAuthenticator" id="ldapBindAuthenticator">
    <constructor-arg ref="contextSource"/>
    <property name="userSearch" ref="ldapSearchBean"/>
</bean>
<bean class="org.springframework.security.ldap.userdetails.DefaultLdapAuthoritiesPopulator" id="ldapAuthoritiesPopulator">
    <constructor-arg value="ou=Groups"/>
    <constructor-arg ref="contextSource"/>
    <property name="groupRoleAttribute" value="memberOf"/>
</bean>
<bean class="org.springframework.security.ldap.userdetails.InetOrgPersonContextMapper" id="ldapUserDetailsContextMapper">
</bean>
<bean id="ldapAuthProvider"        class="org.springframework.security.ldap.authentication.LdapAuthenticationProvider">
    <constructor-arg ref="ldapBindAuthenticator"/>
    <constructor-arg ref="ldapAuthoritiesPopulator"/>
    <property name="useAuthenticationRequestCredentials" value="false"/>
    <property name="userDetailsContextMapper" ref="ldapUserDetailsContextMapper" />
</bean>
<security:authentication-manager alias="authenticationManager" >
    <security:authentication-provider ref="ldapAuthProvider"/>
</security:authentication-manager>

例外は次のとおりです。

org.springframework.security.authentication.BadCredentialsException: Bad credentials
at org.springframework.security.ldap.authentication.BindAuthenticator.authenticate(BindAuthenticator.java:95)
at org.springframework.security.ldap.authentication.LdapAuthenticationProvider.doAuthentication(LdapAuthenticationProvider.java:178)
at org.springframework.security.ldap.authentication.AbstractLdapAuthenticationProvider.authenticate(AbstractLdapAuthenticationProvider.java:61)
at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:156)

LDAP ユーザーの検証が成功すると、失敗するのはテスト ユーザーの検証です。問題はベースパスにあると思います。誰が私が欠けているのか教えてもらえますか?

4

1 に答える 1

0

コマンド ライン ユーティリティを使用して構成をテストldapsearchし、ディレクトリ サーバーへの接続の認証を試みます。

こちらもご覧ください

于 2012-05-10T13:38:45.517 に答える