0

我在我的系统中启用了基本身份验证,现在我正在尝试使用 Spring-security-SAML 集成 SAML 身份验证。我创建了一个返回RelyingPartRegistrationRepositorybean 的方法。在一个条件下,虽然用户配置的值不足以创建RelyingPartRegistration,但我必须创建一个带有空数组的 RelyingPartRegistrationRepository ,这是不可能的,因为有检查不为空。另一种选择是从 Bean 方法返回 null。这也是一个失败案例,因为在这种情况下上下文初始化将失败。我想要的只是要么不初始化这个bean,要么至少不阻止上下文初始化。这样我至少可以切换回基本身份验证。

4

1 回答 1

0

您可以@ConditionalOn...根据属性等内容选择性地启用/禁用特定的 bean

class MyConfiguration {
  @Bean
  @ConditionalOnProperty(name = "saml-enabled", havingValue = "true")
  public RelyingPartRegistrationRepository() { ... }
}

请参阅有关 Baeldung 的这篇文章,以及另一篇涵盖其他一些可能有用的条件的文章,当然还有官方文档

于 2021-06-23T10:48:53.883 回答