diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/cloudfoundry/CloudFoundryActuatorAutoConfiguration.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/cloudfoundry/CloudFoundryActuatorAutoConfiguration.java index 68e51c8258a..d5b2feea7f4 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/cloudfoundry/CloudFoundryActuatorAutoConfiguration.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/cloudfoundry/CloudFoundryActuatorAutoConfiguration.java @@ -26,6 +26,7 @@ import org.springframework.boot.actuate.endpoint.mvc.NamedMvcEndpoint; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnCloudPlatform; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.security.IgnoredRequestCustomizer; @@ -98,18 +99,27 @@ public class CloudFoundryActuatorAutoConfiguration { return corsConfiguration; } - @Bean - public IgnoredRequestCustomizer cloudFoundryIgnoredRequestCustomizer() { - return new CloudFoundryIgnoredRequestCustomizer(); - } + /** + * Nested configuration for ignored requests if Spring Security is present. + * + */ + @ConditionalOnClass(WebSecurity.class) + static class CloudFoundryIgnoredRequestConfiguration { - private class CloudFoundryIgnoredRequestCustomizer - implements IgnoredRequestCustomizer { + @Bean + public IgnoredRequestCustomizer cloudFoundryIgnoredRequestCustomizer() { + return new CloudFoundryIgnoredRequestCustomizer(); + } + + private static class CloudFoundryIgnoredRequestCustomizer + implements IgnoredRequestCustomizer { + + @Override + public void customize(WebSecurity.IgnoredRequestConfigurer configurer) { + configurer.requestMatchers( + new AntPathRequestMatcher("/cloudfoundryapplication/**")); + } - @Override - public void customize(WebSecurity.IgnoredRequestConfigurer configurer) { - configurer.requestMatchers( - new AntPathRequestMatcher("/cloudfoundryapplication/**")); } } diff --git a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/EnvironmentEndpointTests.java b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/EnvironmentEndpointTests.java index f642dcdcfa9..62df5f8b0d7 100644 --- a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/EnvironmentEndpointTests.java +++ b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/EnvironmentEndpointTests.java @@ -19,6 +19,7 @@ package org.springframework.boot.actuate.endpoint; import java.util.Collections; import java.util.Map; +import org.junit.After; import org.junit.Test; import org.springframework.boot.context.properties.EnableConfigurationProperties; @@ -45,6 +46,12 @@ public class EnvironmentEndpointTests extends AbstractEndpointTests