spring security 6 中不存在authenticationManger 方法,Saml Config 迁移

问题描述 投票:0回答:1

我们正在将 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;
}

请指教。

java spring-boot spring-security spring-saml
1个回答
0
投票

您是否尝试过在安全配置类中声明

authenticationManager
Bean

类似这样的:

  @Bean
  public AuthenticationManager authenticationManager(
      AuthenticationConfiguration authenticationConfiguration) throws Exception {
    return authenticationConfiguration.getAuthenticationManager();
  }
© www.soinside.com 2019 - 2024. All rights reserved.