我正在使用spring授权服务器。我已经使用 SecurityFilterChain
而不是扩展 WebSecurityConfigurerAdapter
和许多人一样。
@Bean
SecurityFilterChain defaultSecurityFilterChain(HttpSecurity http) throws Exception {
http
.authorizeRequests(authorizeRequests ->
authorizeRequests.anyRequest().authenticated()
)
.formLogin(withDefaults());
return http.build();
}
现在的问题是:如何访问 AuthenticationManagerBuilder
为了添加自定义 AuthenticationProvider
? (不使用 WebSecurityConfigurerAdapter
; 因为我不能把它和 SecurityFilterChain
)
我已经配置了带有jwt的oauth,现在我正在尝试添加saml支持,但我相信我需要访问全局 AuthenticationManagerBuilder
为了添加我的saml AuthenticationProvider
以及暴露已构建的 AuthenticationManager
作为在我的配置中进一步使用的bean。
我看到的唯一方法是通过重写 WebSecurityConfigurerAdapter
中国的方法。
例如
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private CustomAuthenticationProvider authProvider;
@Bean
@Override
public AuthenticationManager authenticationManagerBean() throws Exception {
return super.authenticationManagerBean();
}
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.authenticationProvider(authProvider);
}
}
有没有办法配置 AuthenticationManager
访问bean而不进行扩展 WebSecurityConfigurerAdapter
?
暂无答案!
目前还没有任何答案,快来回答吧!