Spring Security 3.2 の Java 構成機能を使用していますが、デフォルトの AuthenticationManager インスタンスをカスタム (認証) フィルターに挿入する方法があるかどうか疑問に思っていました。私がこれまでに行ったすべての試みは
タイプ [org.springframework.security.authentication.AuthenticationManager] の適格な Bean がありません
ここで私の現在のBean定義:
@Bean(name="tokenAuthenticationFilter")
public Filter getTokenAuthenticationFilter(AuthenticationManager authenticationManager) {
TokenAuthenticationFilter filter = new TokenAuthenticationFilter(authenticationManager);
return filter;
}
以下は、暗黙的にSpring Securityにデフォルトの認証マネージャーを使用するように指示することを読みました。
<authentication-manager>
<authentication-provider>
...
</authentication-provider>
</authentication-manager>
次の Java 構成スニペットに変換したかったこと:
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private TokenAuthenticationProvider tokenAuthenticationProvider = null;
@Override
protected void registerAuthentication(AuthenticationManagerBuilder auth) throws Exception {
auth.authenticationProvider(tokenAuthenticationProvider);
}