diff --git a/config/src/main/java/org/springframework/security/config/annotation/web/configuration/ConditionalOnMissingBean.java b/config/src/main/java/org/springframework/security/config/annotation/web/configuration/ConditionalOnMissingBean.java deleted file mode 100644 index 2b131c77dd..0000000000 --- a/config/src/main/java/org/springframework/security/config/annotation/web/configuration/ConditionalOnMissingBean.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.springframework.security.config.annotation.web.configuration; - -import org.springframework.context.annotation.Conditional; - -/** - * @author Rob Winch - * @since 4.0 - */ -@Conditional(OnMissingBeanCondition.class) -@interface ConditionalOnMissingBean { - - Class value(); -} diff --git a/config/src/main/java/org/springframework/security/config/annotation/web/configuration/OnMissingBeanCondition.java b/config/src/main/java/org/springframework/security/config/annotation/web/configuration/OnMissingBeanCondition.java deleted file mode 100644 index 262180c788..0000000000 --- a/config/src/main/java/org/springframework/security/config/annotation/web/configuration/OnMissingBeanCondition.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2002-2015 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ -package org.springframework.security.config.annotation.web.configuration; - -import java.util.Map; - -import org.springframework.context.annotation.ConditionContext; -import org.springframework.context.annotation.ConfigurationCondition; -import org.springframework.core.type.AnnotatedTypeMetadata; - -/** - * @author Rob Winch - */ -class OnMissingBeanCondition implements ConfigurationCondition { - public ConfigurationPhase getConfigurationPhase() { - return ConfigurationPhase.REGISTER_BEAN; - } - - public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { - Map attrs = metadata - .getAnnotationAttributes(ConditionalOnMissingBean.class.getName()); - - Class type = (Class) attrs.get("value"); - final Map beans = context.getBeanFactory().getBeansOfType(type); - return beans.isEmpty(); - } -} \ No newline at end of file diff --git a/config/src/main/java/org/springframework/security/config/annotation/web/configuration/WebMvcSecurityConfiguration.java b/config/src/main/java/org/springframework/security/config/annotation/web/configuration/WebMvcSecurityConfiguration.java index b2dc796cca..817f8204c9 100644 --- a/config/src/main/java/org/springframework/security/config/annotation/web/configuration/WebMvcSecurityConfiguration.java +++ b/config/src/main/java/org/springframework/security/config/annotation/web/configuration/WebMvcSecurityConfiguration.java @@ -47,7 +47,6 @@ class WebMvcSecurityConfiguration extends WebMvcConfigurerAdapter { argumentResolvers.add(new CsrfTokenArgumentResolver()); } - @ConditionalOnMissingBean(RequestDataValueProcessor.class) @Bean public RequestDataValueProcessor requestDataValueProcessor() { return new CsrfRequestDataValueProcessor(); diff --git a/config/src/test/java/org/springframework/security/config/annotation/web/configurers/CsrfConfigurerNoWebMvcTests.java b/config/src/test/java/org/springframework/security/config/annotation/web/configurers/CsrfConfigurerNoWebMvcTests.java index f09df67bc5..02249cb206 100644 --- a/config/src/test/java/org/springframework/security/config/annotation/web/configurers/CsrfConfigurerNoWebMvcTests.java +++ b/config/src/test/java/org/springframework/security/config/annotation/web/configurers/CsrfConfigurerNoWebMvcTests.java @@ -24,6 +24,7 @@ import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; @@ -78,6 +79,7 @@ public class CsrfConfigurerNoWebMvcTests { @EnableWebSecurity static class EnableWebOverrideRequestDataConfig { @Bean + @Primary public RequestDataValueProcessor requestDataValueProcessor() { return mock(RequestDataValueProcessor.class); }