概述
SecurityRequestMatcherProviderAutoConfiguration的作用是自动配置一个RequestMatcherProvider,提供一个RequestMatcher
SecurityRequestMatcherProviderAutoConfiguration
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| @Configuration @ConditionalOnClass({ RequestMatcher.class }) @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET) public class SecurityRequestMatcherProviderAutoConfiguration {
@Configuration @ConditionalOnClass(DispatcherServlet.class) @ConditionalOnBean(HandlerMappingIntrospector.class) public static class MvcRequestMatcherConfiguration {
@Bean @ConditionalOnClass(DispatcherServlet.class) public RequestMatcherProvider requestMatcherProvider(HandlerMappingIntrospector introspector) { return new MvcRequestMatcherProvider(introspector); }
}
@Configuration @ConditionalOnClass(ResourceConfig.class) @ConditionalOnMissingClass("org.springframework.web.servlet.DispatcherServlet") @ConditionalOnBean(JerseyApplicationPath.class) public static class JerseyRequestMatcherConfiguration {
@Bean public RequestMatcherProvider requestMatcherProvider(JerseyApplicationPath applicationPath) { return new JerseyRequestMatcherProvider(applicationPath); }
}
}
|
- 将MvcRequestMatcherProvider注册到spring容器中
- 如果当前项目是基于jersey框架的则将JerseyRequestMatcherProvider注册到spring容器中
总结
SecurityRequestMatcherProviderAutoConfiguration的作用很简单就是将一个RequestMatcherProvider实例注册到spring容器中,这个RequestMatcherProvider会提供一个RequestMatcher,与spring-security一同工作