Skip to Content
Suffering builds character
아카이브18.spring Security스프링 시큐리티5.부록필터6.시큐리티 필터 적용

6.시큐리티 필터 적용

1. Spring Security에서 제공하는 Filter 적용 방법

스프링 시큐리티가 제공하는 필터들은 일반적으로 아래와 같이 Security와 관련된 Bean들만 등록하는 설정 파일을 통해 추가할 수 있음
SecyrityConfig.java

각각의 Filter들은 역할에 따라 순서가 정해져 있는 것들도 존재하기 때문에, 개별 Filter 객체들을 개별적으로 Bean으로 등록하진 않음

💡
Tip

각 Filter들의 동작 순서

로그인이 성공해야 내 정보를 조회할 수 있는 것 처럼,
인증 필터는 인가 필터보다 항상 먼저 동작해야 함

1-1. Filter를 관리하는 SecurityFilterChainBean으로 등록

따라서 각각의 Filter들이 순서대로 동작하도록 하기 위해서는 Filter들을 SecurityFilterChain에 포함시키는 방식으로 작성하기 때문에, 먼저 SecurityFilterChainBean으로 등록

SecurityConfig.java
@Configuration @EnableWebSecurity public class SecurityConfig { @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { return http.build(); } }

1-2. SecurityFilterChain 내부에 개별 Filter들을 하나씩 등록

SecurityFilterChain 빈인 filterChain(HttpSecurity http) 메서드 내부에 애플리케이션에서필요한 각각의 필터들을 하나씩 등록

SecurityConfig.java
@Configuration @EnableWebSecurity public class SecurityConfig { @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http .csrf(Customizer.withDefaults()) // CRSF 방지용 필터 추가 .authorizeHttpRequests(authorize -> authorize .anyRequest().authenticated() ) // 인가 처리용 필터 추가 .httpBasic(Customizer.withDefaults()) // 기본 인증용 필터 추가 .formLogin(Customizer.withDefaults()); // Username/Password 인증 필터 추가 return http.build(); } }
Last updated on