Существует приложение, которое интегрировано с Spring Security и Spring Security OAuth2. Каждый из них включается spring-profile
одновременно, ни то, ни другое. Все работает правильно.
Позвольте мне кратко объяснить, что когда приложение запускается с помощью profile-oauth2
, это будет сервер ресурсов (@EnableResourceServer
), который аутентифицирован Keycloak, а когда он запускается profile-spring-security
, Spring Security (@EnableWebSecurity
) будет выполнять автоматическую аутентификацию.
Часть конфигурации:
@Profile("profile-spring-security")
@Configuration
@EnableWebSecurity(debug = true)
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
....
}
и
@Profile("profile-oauth2")
@Configuration
@EnableResourceServer
public class OAuth2ResourceConfig extends ResourceServerConfigurerAdapter {
@Autowired
private DataSource dataSource;
@Override
public void configure(ResourceServerSecurityConfigurer resources) throws Exception {
resources.tokenStore(tokenStore());
}
@Bean
public TokenStore tokenStore() {
return new JdbcTokenStore(dataSource);
}
}
Поэтому я хочу объединить их обоих одновременно, чтобы этот конечный пользователь будет иметь два варианта аутентификации. когда я гуглю, каждая из них имеет свою собственную конфигурацию, а не обе.
Так как же они объединяются, чтобы у Конечного пользователя было два варианта аутентификации: Keycloak или Spring-Security?