Я работаю над приложением Spring Boot, которое использует OAuth2 для реализации единого входа.
Сейчас я использую аннотацию @ConditionalOnProperty
в своей конфигурации безопасности для отключения OAuth2 при необходимости:
@Configuration
@ConditionalOnProperty("some.property")
@Order(SecurityProperties.BASIC_AUTH_ORDER-3)
@EnableOAuth2Sso
public class SecurityConfigurationOAuth2 extends WebSecurityConfigurerAdapter {
У меня также есть вторая конфигурация безопасности, которая используется, когда OAuth отключен:
@Configuration
@Order(SecurityProperties.BASIC_AUTH_ORDER-2)
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
Пока это работает, но мне не нравится иметь две почти идентичные конфигурации. Единственное, что нужно отключить / включить свойством - это аннотация @EnableOAuth2Sso
.
Есть ли другой способ добиться этого?