スプリングセキュリティソースを読む(1)入口のロードを開始するように構成されました

春のセキュリティバージョン:5.0.5.RELEASE

1、入口类:org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration

关键方法:org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration#setFilterChainProxySecurityConfigurer

アプリケーションの起動時に、ブレークポイントは3つのorg.springframework.security.config.annotation.SecurityConfigurerのカスタム構成を見ることができるここに入力します。

 

次のコードは、その後、割り当てられたWebSecurity社を設定します

(SecurityConfigurer <フィルタ、WebSecurity社> webSecurityConfigurer:webSecurityConfigurers)用{ 
			webSecurity.apply(webSecurityConfigurer)。
		}

別の入力方法、org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration#springSecurityFilterChain;
ここでは、ビルドWebSecurity社を見ることができ、
1  公共フィルタspringSecurityFilterChain()がスロー例外{
 2          ブール hasConfigurers =のwebSecurityConfigurers!= NULL 
3                  &&を!webSecurityConfigurers.isEmpty();
4          もし(!hasConfigurers){
 5              WebSecurityConfigurerAdapterアダプタ= objectObjectPostProcessor
 6                      .postProcess(新しいWebSecurityConfigurerAdapter(){
 7                      })。
8              webSecurity.apply(アダプタ)
9          }
 10          リターンwebSecurity.build();
11      }
webSecurity.buildを()に従って、org.springframework.security.config.annotation.AbstractConfiguredSecurityBuilder#doBuildを入力してください。

1  保護された 最終的な O doBuild()がスロー例外{
 2          同期(configurers){
 3              buildState = BuildState.INITIALIZINGと、
4  
5              beforeInit()。
6              のinit();
7  
8              buildState = BuildState.CONFIGURING。
9  
10              beforeConfigure()。
11              設定();
12  
13              buildState = BuildState.BUILDING。
14  
15              O結果= performBuild()。
16 
17              buildState = BuildState.BUILT。
18  
19              リターン結果。
20          }
 21      }

doBuild方法は、三SecurityConfigurer設定されたアプリケーションを処理するために使用されます。

 

 

 






















参考:https://www.jianshu.com/p/0c54788c94f3

おすすめ

転載: www.cnblogs.com/mylittlecabin/p/11407380.html