gpt4 book ai didi

Spring Boot - 来自依赖项的多个过滤器链

转载 作者:行者123 更新时间:2023-12-05 07:36:50 25 4
gpt4 key购买 nike

我有以下 Spring 模块 A 和 B 的场景:

  • 模块 A - 具有单点登录安全设置的 Spring 模块,使用@EnableOAuth2Sso、@EnableWebSecurity(debug = true) 和@Order(Ordered.HIGHEST_PRECEDENCE)
  • 模块 B - Spring Boot 应用程序,具有 A 作为依赖项,不使用任何安全配置。

当我启动 B 时,我得到 2 个过滤器链,第一个来自模块 A,用于 SSO,第二个来自模块 B,是多余的:

  • o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: AnyRequestMatcher@1, [WebAsyncManagerIntegrationFilter@1407b93f, SecurityContextPersistenceFilter@38241615, OAuth2ClientContextFilter@31a8c3a3, HeaderWriterFilter@6bf2ecbb, LogoutFilter@6cc022ac, OAuth2ClientAuthenticationProcessingFilter@5aff8207, BasicAuthenticationFilter@42eaf47f, RequestCacheAwareFilter@42fc744, SecurityContextHolderAwareRequestFilter @6eeb15f9,AnonymousAuthenticationFilter@6a5a99d9,SessionManagementFilter@5955568,ExceptionTranslationFilter@74ec4df3,FilterSecurityInterceptor@6a577564]
  • o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: AnyRequestMatcher@1, [WebAsyncManagerIntegrationFilter@138110f8, SecurityContextPersistenceFilter@6278371a, HeaderWriterFilter@6b61a4b0, LogoutFilter@30623109, RequestCacheAwareFilter@c6a1be2, SecurityContextHolderAwareRequestFilter@6a486afb, AnonymousAuthenticationFilter@4fe8ac61, SessionManagementFilter@5c00de0d, ExceptionTranslationFilter @32db94fb]

问题:

  • 如何禁用没有用的默认过滤器链?
  • 模块 A 的调试标志 - @EnableWebSecurity(debug = true) 在运行模块 B 时被忽略,我无法调试安全设置
  • 是否可以“扩展”A 的链并在 B 中添加更多过滤器?

最佳答案

这是旧的,但我有同样的问题并通过将 @EnableWebSecurity 注释添加到模块 A 并将此注释添加到模块 B:s @SpringBootApplication 来解决它:

@SpringBootApplication(exclude = { SecurityAutoConfiguration.class })

如果您想知道原因,请在谷歌上搜索“SecurityAutoConfiguration”以获取有关 Spring 安全默认行为的更多信息。

关于Spring Boot - 来自依赖项的多个过滤器链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48927156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com