|
|
|
@ -107,15 +107,14 @@ public class CorsConfigurer<H extends HttpSecurityBuilder<H>> extends AbstractHt |
|
|
|
* @return |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
private static CorsFilter getMvcCorsFilter(ApplicationContext context) { |
|
|
|
private static CorsFilter getMvcCorsFilter(ApplicationContext context) { |
|
|
|
if (!context.containsBean(HANDLER_MAPPING_INTROSPECTOR_BEAN_NAME)) { |
|
|
|
if (context.getBeanNamesForType(CorsConfigurationSource.class).length > 0) { |
|
|
|
throw new NoSuchBeanDefinitionException(HANDLER_MAPPING_INTROSPECTOR_BEAN_NAME, "A Bean named " |
|
|
|
CorsConfigurationSource corsConfigurationSource = context |
|
|
|
+ HANDLER_MAPPING_INTROSPECTOR_BEAN_NAME + " of type " |
|
|
|
.getBean(HANDLER_MAPPING_INTROSPECTOR_BEAN_NAME, CorsConfigurationSource.class); |
|
|
|
+ HandlerMappingIntrospector.class.getName() |
|
|
|
return new CorsFilter(corsConfigurationSource); |
|
|
|
+ " is required to use MvcRequestMatcher. Please ensure Spring Security & Spring MVC are configured in a shared ApplicationContext."); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
HandlerMappingIntrospector mappingIntrospector = context.getBean(HANDLER_MAPPING_INTROSPECTOR_BEAN_NAME, |
|
|
|
throw new NoSuchBeanDefinitionException(CorsConfigurationSource.class, |
|
|
|
HandlerMappingIntrospector.class); |
|
|
|
"Failed to find a bean that implements `CorsConfigurationSource`. Please ensure that you are using " |
|
|
|
return new CorsFilter(mappingIntrospector); |
|
|
|
+ "`@EnableWebMvc`, are publishing a `WebMvcConfigurer`, or are publishing a `CorsConfigurationSource` bean."); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|