@EnableWebSecurity 启动登录拦截
@EnableGlobalMethodSecurity 启动方法拦截,权限校验
@EnableGlobalAuthentication包含在@EnableWebSecurity中,加载AuthenticationConfiguration,又加载AuthenticationManagerBuilder的全局bean和对应的SecurityConfigurer<AuthenticationManager, AuthenticationManagerBuilder>(GlobalAuthenticationConfigurerAdapter),包括EnableGlobalAuthenticationAutowiredConfigurer,InitializeUserDetailsBeanManagerConfigurer,InitializeAuthenticationProviderBeanManagerConfigurer,主要用于加AuthenticationProvider有关bean
WebSecurity即Filter的builder
WebSecurityConfiguration中配置WebSecurity的SecurityConfigurer<Filter, WebSecurity>,即WebSecurityConfigurerAdapter
HttpSecurity即DefaultSecurityFilterChain的builder,requestMatcher开启filter拦截,filters包括注册的所有拦截器,AbstractHttpConfigurer<T extends AbstractHttpConfigurer<T, B>, B extends HttpSecurityBuilder<B>>配置HttpSecurity,AbstractInterceptUrlConfigurer里有FilterSecurityInterceptor配置登录等拦截验证
AuthenticationManagerBuilder即AuthenticationManager(ProviderManager)的builder
extends WebSecurityConfigurerAdapter 配置WebSecurityConfigurer<WebSecurity>, 默认
(@EnableWebSecurity)WebSecurityConfiguration中匿名类,init方法中加载getHttp()获取HttpSecurity,包括配置AuthenticationManagerBuilder,可以默认也可以全局获取
GlobalMethodSecurityConfiguration配置MethodSecurityInterceptor拦截,作为权限限制
待续
具体登录验证,jdbc,ldap等等,user等默认bean注册关联
权限验证