From 033823f49371ba941f53e1a9d47e9745866246fc Mon Sep 17 00:00:00 2001 From: izeye Date: Tue, 13 Oct 2015 19:19:57 +0900 Subject: [PATCH] Disable SecurityFilterAutoConfiguration when spring-security-web is missing Previously, SecurityFilterAutoConfiguration would be created even if spring-security-web was not on the classpath. This didn't cause a failure as all of its beans were disabled. It was, however, wasteful, as the configuration class was processed and a bean created for it unnecessarily. This commit makes the whole class conditional on the presence of spring-security-web so that it will be skipped entirely when the dependency is not available. Closes gh-4160 --- .../autoconfigure/security/SecurityFilterAutoConfiguration.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/SecurityFilterAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/SecurityFilterAutoConfiguration.java index ef5a1d53ba..4bfb5340cb 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/SecurityFilterAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/SecurityFilterAutoConfiguration.java @@ -19,6 +19,7 @@ package org.springframework.boot.autoconfigure.security; 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.ConditionalOnWebApplication; import org.springframework.boot.context.embedded.DelegatingFilterProxyRegistrationBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; @@ -41,6 +42,7 @@ import org.springframework.security.web.context.AbstractSecurityWebApplicationIn @Configuration @ConditionalOnWebApplication @EnableConfigurationProperties +@ConditionalOnClass(AbstractSecurityWebApplicationInitializer.class) @AutoConfigureAfter(SpringBootWebSecurityConfiguration.class) public class SecurityFilterAutoConfiguration {