【问题标题】:Spring Boot Oauth2 autoconfigure cycle after upgrade升级后的 Spring Boot Oauth2 自动配置周期
【发布时间】:2022-01-10 12:02:31
【问题描述】:

我正在将我的应用程序从 Spring Boot 2.5.4 升级到 2.6.1 并遇到依赖问题:

**说明: 应用上下文中一些bean的依赖形成了一个循环:

oidcAuthService 定义在文件 [/pr/pr-security-oidc/target/classes/com/pr/MyOauth2AuthService.class]

┌─────┐ | oauth2SecurityConfiguration ↑ ↓ | org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration$EnableWebMvcConfiguration ↑ ↓ | org.springframework.security.config.annotation.web.configuration.OAuth2ClientConfiguration$OAuth2ClientWebMvcSecurityConfiguration └──────┘**

经过一些调查,排除 WebMvcAutoConfiguration.class 后,应用程序能够启动,但会导致不同的安全配置相关问题。 任何想法新的 Spring 版本发生了什么,为什么 WebMvcAutoConfiguration 和 OAuth2ClientConfiguration 相互冲突?

附:我正在使用 spring-boot-starter-oauth2-client 和 spring boot,在旧版本上没有问题。

谢谢!

【问题讨论】:

  • 这是因为 spring 2.6 是第一个检查循环依赖并出错的版本

标签: java spring-boot spring-security spring-security-oauth2 spring-boot-starter-oauth2-client


【解决方案1】:

你可以尝试放置

spring.main.allow-circular-references: true

在您的 application.properties 中。更多请点击链接: https://github.com/springdoc/springdoc-openapi/issues/1347

【讨论】:

  • 应该注意这只是一种解决方法。这是 spring security oauth2 的一个已知问题吗?
猜你喜欢
  • 1970-01-01
  • 2018-12-05
  • 2020-09-15
  • 1970-01-01
  • 2014-11-09
  • 2016-12-23
  • 2017-11-21
  • 2018-01-05
  • 2017-01-19
相关资源
最近更新 更多