図1に示すように、自動組立構成クラス
org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration //クラス自動組立
- 注册DefaultAuthenticationEventPublisher
org.springframework.boot.autoconfigure.security.SecurityProperties //プロパティは、プロパティの設定クラスに対応します
org.springframework.boot.autoconfigure.security.servlet.SpringBootWebSecurityConfiguration // 注入型の構成、春のセキュリティカスタマイズした設定をロードするための( WebSecurityConfigurerAdapter:DefaultConfigurerAdapter )
org.springframework.boot.autoconfigure.security.servlet.WebSecurityEnablerConfiguration // 开启@EnableWebSecurity手动装配
@EnableWebSecurity
WebSecurityConfiguration:
- ImportAware、BeanClassLoaderAwareインタフェース、debugEnabledをロード(ブーリアン)、beanClassLoader(クラスローダ)の特性を達成
- 注入objectObjectPostProcessor(ObjectPostProcessor <OBJECT>)属性(AutowiredBeanFactoryObjectPostProcessor)
- 登録AutowiredWebSecurityConfigurersIgnoreParents、WebSecurityConfigurerビーンを取得するために使用されるタイプ、リストに変換<WebSecurityConfigurer <フィルター、WebSecurity社>>フォーマット
- 使用objectObjectPostProcessor作成(AutowiredBeanFactoryObjectPostProcessor)をWebSecurity社(WebSecurity社)プロパティを
- AutowiredWebSecurityConfigurersIgnoreParentsがList <WebSecurityConfigurer <フィルター、WebSecurity社>>プロパティを取得使用してwebSecurityConfigurersに割り当てられました
- すべてのプロパティのWebSecurity社webSecurityConfigurers値がWebSecurity社に加え
- 登録DelegatingApplicationListener
- 登録springSecurityFilterChain(フィルター)、15のフィルタのデフォルトをロードし、DefaultSecurityFilterChainを作成し、FilterChainProxy、プロキシフィルター・チェーンを作成します
- 注册SecurityExpressionHandler <FilterInvocation>
- 注册WebInvocationPrivilegeEvaluator(DefaultWebInvocationPrivilegeEvaluator)
SpringWebMvcImportSelector:
- WebMvcSecurityConfigurationを登録することを選択します
OAuth2ImportSelector:
- OAuth2ClientConfigurationを登録することを選択します
@EnableGlobalAuthentication
AuthenticationConfiguration
-
- インポートObjectPostProcessorConfiguration、登録AutowiredBeanFactoryObjectPostProcessor
- 注册 AuthenticationManagerBuilder、EnableGlobalAuthenticationAutowiredConfigurer、InitializeUserDetailsBeanManagerConfigurer、InitializeAuthenticationProviderBeanManagerConfigurer