읽어 봄 보안 소스 (1)는 입구로드를 개시하도록 배열

봄 보안 버전 : 5.0.5.RELEASE

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

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

응용 프로그램이 시작될 때 여기에 입력 한 것, 브레이크 포인트는 세 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          동기화 (하는 configurer) {
 3              buildState = BuildState.INITIALIZING 단계;
4  
5              beforeInit ();
6              초기화 ();
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