2009-05-28 16 views
3

私は春には新しいので、この質問はとても分かりやすいように見えるかもしれません。春のセキュリティでLDAP認証とデータベース認証を行う方法は?

私はSpringセキュリティを実装しようとしています。私の要件はLDAPサーバーに対してユーザー名とパスワードを認証することです。ユーザーが認証されると、リレーショナルデータベースからユーザーロールを取得する必要があります。

これは春のセキュリティで可能ですか?

答えて

4

はい。

ビルドインLDAP認証マネージャーは、ユーザーの認証と許可を2つの部分に分割します。 以下のように、LDAPベースの認証マネージャーを構成できます。

<bean id="authenticationManager" class="org.acegisecurity.providers.ProviderManager"> 
    <property name="providers"> 
     <list> 
      <ref local="ldapAuthenticationProvider"/> 
     </list> 
    </property> 
</bean> 

認証プロバイダは次のように構成されています。

<bean id="ldapAuthenticationProvider" class="org.acegisecurity.providers.ldap.LdapAuthenticationProvider"> 
    <constructor-arg><ref local="authenticator"/></constructor-arg> 
    <constructor-arg><ref local="populator"/></constructor-arg> 
    <property name="userCache"><ref local="userCache"/></property> 
</bean> 

あなたが望むことをする組み込みのポピュラーがあるかどうかわかりませんが、必要に応じて独自のポピュラーを開発できます。

+1

UserDetailsS​​erviceLdapAuthoritiesPopulatorを使用して、標準のUserDetailsS​​erviceに委任できます。それは、Veeraが必要とするものとまったく同じです。 –

関連する問題