2

我正在使用 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);
    }
4

0 回答 0