spring Sping Boot 从2.4.5升级到2.7.14

9wbgstp7  于 2023-08-02  发布在  Spring
关注(0)|答案(1)|浏览(334)

我正在将spring-boot 2.4.5迁移到2.7.14,并遵循spring-boot官方的迁移指南。但不能解决以下错误。配置类,

@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
@Configuration
@EnableConfigurationProperties(ConfigurationProperties.class)
public class AzureSecurityConfiguration
{
    @Bean
    protected SecurityFilterChain filterChain(HttpSecurity http) throws Exception
    {
      //Securing uri goes here
       return http.build();
    }

字符串
其抛出错误如下:
工厂方法'springSecurityFilterChain'抛出异常;嵌套异常为java.lang.IllegalStateException:已找到WebSecurityConfigurerAdapter和SecurityFilterChain。请只选择一个。
我的依赖项中的一个观察结果是depricated类WebSecurityConfigurerAdapter。因为它来自spring-boot-web依赖。
帮助我找出根本原因以及如何选择securitychainFilter并解决问题。

fgw7neuy

fgw7neuy1#

最后找到了根本原因并进行了修复。WebSecurityConfigurerAdapter和SecurityFilterChain配置均可用。WebSecurityConfigurerAdapter实现在azure-spring-boot-starter-active-directory依赖项中可用。因此替换为下面的依赖项

<dependency>
  <groupId>com.azure.spring</groupId>
  <artifactId>azure-spring-boot-starter-active-directory</artifactId>
</dependency>

字符串

<dependency>
            <groupId>com.azure.spring</groupId>
            <artifactId>spring-cloud-azure-starter-active-directory</artifactId>
        </dependency>

相关问题