Skip to content

Commit 3b78aa9

Browse files
committed
Make Security auto-config conditional on spring-security-config
SecurityAutoConfiguration, via its import of AuthenticationManagerConfiguration, requires spring-security-config to be on the classpath as AuthenticationManagerConfiguration extends GlobalAuthenticationConfigurerAdapter from spring-security-config. This commit makes SecurityAutoConfiguration conditional on the presence of GlobalAuthenticationConfigurerAdapter so that the auto-configuration will be disabled in its absence rather than causing an app to fail to start. Closes gh-2046
1 parent 41c15f2 commit 3b78aa9

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/SecurityAutoConfiguration.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import org.springframework.security.authentication.AuthenticationEventPublisher;
2828
import org.springframework.security.authentication.AuthenticationManager;
2929
import org.springframework.security.authentication.DefaultAuthenticationEventPublisher;
30+
import org.springframework.security.config.annotation.authentication.configurers.GlobalAuthenticationConfigurerAdapter;
3031
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
3132

3233
/**
@@ -41,9 +42,11 @@
4142
* <code>@Configuration</code> of type {@link WebSecurityConfigurerAdapter}.
4243
*
4344
* @author Dave Syer
45+
* @author Andy Wilkinson
4446
*/
4547
@Configuration
46-
@ConditionalOnClass(AuthenticationManager.class)
48+
@ConditionalOnClass({ AuthenticationManager.class,
49+
GlobalAuthenticationConfigurerAdapter.class })
4750
@EnableConfigurationProperties
4851
@Import({ SpringBootWebSecurityConfiguration.class,
4952
AuthenticationManagerConfiguration.class })

0 commit comments

Comments
 (0)