[Security] WebSecurity & HttpSecurity

정석·2024년 9월 28일

Spring

목록 보기
17/21
post-thumbnail

Spring Security 구조 이해

1. SecurityBuilder

  • Spring Security의 핵심 빌더 클래스로, 인증 및 인가 관련 설정을 정의.
  • HttpSecurity, WebSecurity, AuthenticationManagerBuilder 설정 클래스를 포함.
  • 설정 클래스들의 초기화 작업SecurityConfigurer에 의해 진행됨.

SecurityBuilder 구조


2. HttpSecurity

  • HTTP 요청에 대해 필터들의 묶음을 구성하는 클래스.
  • HttpSecurityConfiguration에 의해 생성 및 초기화됨.
  • 보안 설정을 위한 필터를 생성하고, 최종적으로 SecurityFilterChain 빈을 생성함.

HttpSecurity 구조


3. SecurityFilterChain

  • getFilters(): 필터 객체 리스트 반환.
  • matches(HttpServletRequest request): 현재 요청이 이 필터 체인에 의해 처리될지 여부를 결정.
    • true 반환 시 처리 / false 반환 시 다른 필터 체인이 처리함을 의미.

4. WebSecurity

  • WebSecurityConfiguration에서 생성 및 초기화됨.
  • HttpSecurity에서 생성된 SecurityFilterChain 빈을 SecurityBuilder에 저장.
  • build() 호출 시, FilterChainProxy가 생성됨.

WebSecurity 구조

0개의 댓글