Spring のドキュメントでは、これProviderManager
が のデフォルトの実装であると書かれていますが、セキュリティ名前空間によって自動的に作成および配線されAuthenticationManager
た のインスタンスですか?ProviderManager
言い換えれば、そのような構成は自動的に のインスタンスを作成しますProviderManager
:
<authentication-manager>
<authentication-provider>
<password-encoder hash="md5"/>
<jdbc-user-service data-source-ref="dataSource"/>
</authentication-provider>
</authentication-manager>
そうでなければ、何をする(または宣言する)必要がありますか?
の独自の実装をプラグインしたいと仮定するとAuthenticationManager
、名前空間を使用してこれをどのように構成しますか?
AuthenticationProvider
に登録する必要があるものも指定したいと思いますProviderManager
。次の構成コードを見つけました。
<bean id="authenticationManager"
class="org.springframework.security.authentication.ProviderManager">
<property name="providers">
<list>
<ref local="daoAuthenticationProvider"/>
<ref local="anonymousAuthenticationProvider"/>
</list>
</property>
</bean>
しかし、それで十分ですか?のリストを宣言する正しい方法は何AuthenticationProvider
ですか? この問題に関するドキュメントはあまり明確ではなく、完全でもありません。