我正在使用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安全性使用默认的身份验证管理器。
<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);
}