생성된 SecurityFilterChain 빈을 SecurityBuilder 에 저장하는 원리가 궁금합니다.
174
작성한 질문수 24
강의에서 SecurityBuilder를 통해 생성된 SecurityFilterChain 을 저장한다는 설명과 관련해서 어떤 코드가 실행하는지 분석을 나름 해보았는데요, 맞는지 확인받고 싶습니다.
WebSecurityConfiguration 클래스에 springSecurityFilterChain() 메서드에 다음과 같은 코드가 있습니다.
for(SecurityFilterChain securityFilterChain : this.securityFilterChains) {
this.webSecurity.addSecurityFilterChainBuilder(() -> securityFilterChain);
}해당 코드에서 addSecurityFilterChainBuilder() 메서드는
SecurityBuilder<O extends SecurityFilterChain> securityFilterChainBuilder 를 파라미터로 받고 있는데,
해당 파라미터로 람다식을 이용해서 HttpSecurity에서 생성한 객체를 SecurityBuilder의 build() 메서드를 호출시 리턴할 수 있게 () -> securityFilterChain 했고 해당 람다식이 addSecurityFilterChainBuilder() 메서드로 인해 WebSecurity 필드인 securityFilterChainBuilders 에 저장이 되었습니다.
저장된 람다식은 WebSecurity 에 performBuild() 메서드에 구현되어 있는
for(SecurityBuilder<? extends SecurityFilterChain> securityFilterChainBuilder : this.securityFilterChainBuilders) {
SecurityFilterChain securityFilterChain = (SecurityFilterChain)securityFilterChainBuilder.build();다음과 같은 for 문에서 build() 메서드를 호출하면서 SecurityFilterChain 객체를 불러오게 됩니다.
다음과 같은 과정으로 SecurityBuilder 에 저장하고 꺼낼 수 있다고 이해했는데 맞을까요?
답변 1
로그아웃-logout()-2 강에서 겟방식 로그아웃 호출 후 화면이동 질문입니다.
0
33
2
단원별 소스코드
0
62
2
CustomAuthenticationProvider 추가 관련 문의
0
77
2
AOP 의존성 명칭 변경
0
72
1
빈 1개 등록 시 다른 해결 방법
0
70
1
@Bean으로 AuthenticationProvider를 등록 시 http.authenticationProvider 함수를 이용해서 추가해줘야되나요?
0
87
2
OIDC의 id token에 담긴 데이터에 대해
0
78
1
loginPage("/loginPage") 질문드립니다.
0
69
1
@EnableWebSecurity
0
148
1
트랜잭션과 롤백
0
99
1
68. 인증 이벤트 - AuthenticationEventPublisher 활용 강좌 음성 문제
0
91
2
AuthenticationManager 사용 방법
0
152
2
HttpSecurity.authorizeHttpRequests() - 2 강의 부분에 대한 질문
0
108
2
spring security 6.3에서는 HttpSecurity가 만들어지기 전 WebSecurity가 먼저 만들어지는게 맞나요??
0
191
1
init(B Builder), configure(B builder) 에 대하여 질문 드립니다.
0
109
2
메타 주석 질문
0
69
1
동시세션제어 기능에서 로그아웃하기
0
150
3
로그인 후, redirect 에서 error
0
139
3
Session 생성 타이밍에 대한 질문
0
86
2
강의 참고 내용을 개발 로그로 작성해도 될지 문의드립니다.
0
135
2
customAuthentication 관련
0
131
2
authenticationManagerBuilder 주입받은거 vs 만든 거
0
114
1
UserDetailsService()에서 UserDetail이 아닌 타입을 반환할 수 있나요?
0
101
1
9:28 패턴 3의 경우 마지막으로 설정한 것만 적용되는 것 같습니다.
0
162
2





