我们正在将 springboot 应用程序迁移到 springboot 3.x。在最新版本的springboot中,我看到spring-security升级到了版本6。
在此版本中
WebSecurityConfigurerAdapter
已被删除。
我有一个在 spring-boot 2.x 上编写的 SamlConfiguation 类。我必须定义
SAMLWebSSOHoKProcessingFilter
和 SAMLProcessingFilter
beans。
这些 Bean 使用
uthenticationManager()
类中的 WebSecurityConfigurerAdapter
。
如何使用 Spring Security 6 定义它们?
这是我当前的实现:
@Bean
public SAMLWebSSOHoKProcessingFilter samlWebSSOHoKProcessingFilter() throws Exception {
SAMLWebSSOHoKProcessingFilter samlWebSSOHoKProcessingFilter = new SAMLWebSSOHoKProcessingFilter();
samlWebSSOHoKProcessingFilter.setAuthenticationSuccessHandler(successRedirectHandler());
samlWebSSOHoKProcessingFilter.setAuthenticationManager(authenticationManager());
samlWebSSOHoKProcessingFilter.setAuthenticationFailureHandler(authenticationFailureHandler());
return samlWebSSOHoKProcessingFilter;
}
// Processing filter for WebSSO profile messages
@Bean
public SAMLProcessingFilter samlWebSSOProcessingFilter() throws Exception {
SAMLProcessingFilter samlWebSSOProcessingFilter = new SAMLProcessingFilter();
samlWebSSOProcessingFilter.setAuthenticationManager(authenticationManager());
samlWebSSOProcessingFilter.setAuthenticationSuccessHandler(successRedirectHandler());
samlWebSSOProcessingFilter.setAuthenticationFailureHandler(authenticationFailureHandler());
httpClient().getState().clear();
return samlWebSSOProcessingFilter;
}
请指教。
您是否尝试过在安全配置类中声明
authenticationManager
Bean
?
类似这样的:
@Bean
public AuthenticationManager authenticationManager(
AuthenticationConfiguration authenticationConfiguration) throws Exception {
return authenticationConfiguration.getAuthenticationManager();
}