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 {

Reply via email to