|
|
|
|
@ -135,18 +135,21 @@ class WebMvcSecurityConfiguration implements WebMvcConfigurer, ApplicationContex
@@ -135,18 +135,21 @@ class WebMvcSecurityConfiguration implements WebMvcConfigurer, ApplicationContex
|
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
String hmiRequestTransformerBeanName = HANDLER_MAPPING_INTROSPECTOR_BEAN_NAME + "RequestTransformer"; |
|
|
|
|
if (!registry.containsBeanDefinition(hmiRequestTransformerBeanName)) { |
|
|
|
|
BeanDefinition hmiRequestTransformer = BeanDefinitionBuilder |
|
|
|
|
.rootBeanDefinition(HandlerMappingIntrospectorRequestTransformer.class) |
|
|
|
|
.addConstructorArgReference(HANDLER_MAPPING_INTROSPECTOR_BEAN_NAME) |
|
|
|
|
.getBeanDefinition(); |
|
|
|
|
registry.registerBeanDefinition(HANDLER_MAPPING_INTROSPECTOR_BEAN_NAME + "RequestTransformer", |
|
|
|
|
hmiRequestTransformer); |
|
|
|
|
registry.registerBeanDefinition(hmiRequestTransformerBeanName, hmiRequestTransformer); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
BeanDefinition filterChainProxy = registry |
|
|
|
|
.getBeanDefinition(AbstractSecurityWebApplicationInitializer.DEFAULT_FILTER_NAME); |
|
|
|
|
|
|
|
|
|
if (!filterChainProxy.getResolvableType().isInstance(CompositeFilterChainProxy.class)) { |
|
|
|
|
BeanDefinitionBuilder hmiCacheFilterBldr = BeanDefinitionBuilder |
|
|
|
|
.rootBeanDefinition(HandlerMappingIntrospectorCachFilterFactoryBean.class) |
|
|
|
|
.rootBeanDefinition(HandlerMappingIntrospectorCacheFilterFactoryBean.class) |
|
|
|
|
.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); |
|
|
|
|
|
|
|
|
|
ManagedList<BeanMetadataElement> filters = new ManagedList<>(); |
|
|
|
|
@ -160,6 +163,7 @@ class WebMvcSecurityConfiguration implements WebMvcConfigurer, ApplicationContex
@@ -160,6 +163,7 @@ class WebMvcSecurityConfiguration implements WebMvcConfigurer, ApplicationContex
|
|
|
|
|
registry.registerBeanDefinition(AbstractSecurityWebApplicationInitializer.DEFAULT_FILTER_NAME, |
|
|
|
|
compositeSpringSecurityFilterChainBldr.getBeanDefinition()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -167,7 +171,7 @@ class WebMvcSecurityConfiguration implements WebMvcConfigurer, ApplicationContex
@@ -167,7 +171,7 @@ class WebMvcSecurityConfiguration implements WebMvcConfigurer, ApplicationContex
|
|
|
|
|
* {@link FactoryBean} to defer creation of |
|
|
|
|
* {@link HandlerMappingIntrospector#createCacheFilter()} |
|
|
|
|
*/ |
|
|
|
|
static class HandlerMappingIntrospectorCachFilterFactoryBean |
|
|
|
|
static class HandlerMappingIntrospectorCacheFilterFactoryBean |
|
|
|
|
implements ApplicationContextAware, FactoryBean<Filter> { |
|
|
|
|
|
|
|
|
|
private ApplicationContext applicationContext; |
|
|
|
|
|