This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git
The following commit(s) were added to refs/heads/master by this push: new 41e9015 CAMEL-15750 camel-undertow-spring-security-starter always forbidden (#238) 41e9015 is described below commit 41e901588c820a56f931b985f9d47502adca9b01 Author: JiriOndrusek <ondrusek.j...@gmail.com> AuthorDate: Wed Dec 2 17:34:14 2020 +0100 CAMEL-15750 camel-undertow-spring-security-starter always forbidden (#238) --- ....java => UndertowSpringSecurityCustomizer.java} | 36 ++++++++++++++-------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/components-starter/camel-undertow-spring-security-starter/src/main/java/org/apache/camel/undertow/spring/boot/UndertowSpringSecurityAutoConfiguration.java b/components-starter/camel-undertow-spring-security-starter/src/main/java/org/apache/camel/undertow/spring/boot/UndertowSpringSecurityCustomizer.java similarity index 89% rename from components-starter/camel-undertow-spring-security-starter/src/main/java/org/apache/camel/undertow/spring/boot/UndertowSpringSecurityAutoConfiguration.java rename to components-starter/camel-undertow-spring-security-starter/src/main/java/org/apache/camel/undertow/spring/boot/UndertowSpringSecurityCustomizer.java index fe503fec..e9d28db 100644 --- a/components-starter/camel-undertow-spring-security-starter/src/main/java/org/apache/camel/undertow/spring/boot/UndertowSpringSecurityAutoConfiguration.java +++ b/components-starter/camel-undertow-spring-security-starter/src/main/java/org/apache/camel/undertow/spring/boot/UndertowSpringSecurityCustomizer.java @@ -16,9 +16,12 @@ */ package org.apache.camel.undertow.spring.boot; +import org.apache.camel.Component; import org.apache.camel.component.spring.security.SpringSecurityConfiguration; import org.apache.camel.component.spring.security.keycloak.KeycloakUsernameSubClaimAdapter; import org.apache.camel.component.undertow.UndertowComponent; +import org.apache.camel.spi.ComponentCustomizer; +import org.apache.camel.spring.boot.CamelAutoConfiguration; import org.apache.camel.undertow.spring.boot.providers.AbstractProviderConfiguration; import org.apache.camel.spring.boot.ComponentConfigurationProperties; import org.springframework.beans.factory.annotation.Autowired; @@ -48,11 +51,9 @@ import java.util.LinkedList; * Configuration of spring-security constraints for defined providers. */ @Configuration(proxyBeanMethods = false) -@AutoConfigureAfter(UndertowSpringSecurityConfiguration.class) -@EnableConfigurationProperties({ComponentConfigurationProperties.class, - UndertowSpringSecurityConfiguration.class}) -public class UndertowSpringSecurityAutoConfiguration { - +@AutoConfigureAfter(CamelAutoConfiguration.class) +@EnableConfigurationProperties({ComponentConfigurationProperties.class, UndertowSpringSecurityConfiguration.class}) +public class UndertowSpringSecurityCustomizer implements ComponentCustomizer { private AbstractProviderConfiguration provider; private ClientRegistration clientRegistration; @@ -62,6 +63,23 @@ public class UndertowSpringSecurityAutoConfiguration { @Autowired private DelegatingFilterProxyRegistrationBean delegatingFilterProxyRegistrationBean; + @Override + public void configure(String name, Component target) { + UndertowComponent uc = (UndertowComponent)target; + SpringSecurityConfiguration securityConfiguration = () -> delegatingFilterProxyRegistrationBean.getFilter(); + uc.setSecurityConfiguration(securityConfiguration); + } + + @Override + public boolean isEnabled(String name, Component target) { + return target instanceof UndertowComponent; + } + + @Override + public int getOrder() { + return 0; + } + @EnableWebSecurity public class OAuth2LoginSecurityConfig extends WebSecurityConfigurerAdapter { @@ -102,14 +120,6 @@ public class UndertowSpringSecurityAutoConfiguration { return new InMemoryOAuth2AuthorizedClientService(repository); } - @Bean - public SpringSecurityConfiguration securityConfiguration(UndertowComponent undertowComponent) { - SpringSecurityConfiguration securityConfiguration = () -> delegatingFilterProxyRegistrationBean.getFilter(); - undertowComponent.setSecurityConfiguration(securityConfiguration); - return securityConfiguration; - } - - //----------------------------------------------- provider configuration helper methods -------------------------------------- private enum ProviderType {