본문 바로가기
Spring

[TIL] 231123 Spring Filter, Spring Security 프레임워크

by studymode 2023. 11. 23.

 

 

Filter

  • Client로부터 오는 요청과 응답에 대해 최초/최종 단계에 위치
  • 요청과 응답시 정보를 변경하거나 부가적인 기능 가능
  • 주로 보안처리나 로깅 등에 사용
  • 인증, 인가와 관련된 로직 처리 (비즈니스 로직과 분리하여 관리 가능)

 

Filter 사용법

  • @Order(1) : 필터 순서 지정 
  • Implements Filter 로 필터라고 선언
public class Logging Filter implements Filter{
}
  • implements Filter
@Override 
public void doFilter(~~)~~

 

 

AuthFilter : 인증 인가 필터 만들기

  • Repository와 JwtUtil 가져오기
 if (StringUtils.hasText(url) &&
                (url.startsWith("/api/user") || url.startsWith("/css") || url.startsWith("/js"))
        ) {
            // 회원가입, 로그인 관련 API 는 인증 필요없이 요청 진행
            chain.doFilter(request, response); // 다음 Filter 로 이동
        }
  • filter 예외처리할 api 설정

 

 

 

 

Spring Security 프레임워크

  • spring에서 제공하는 인증 인가를 위한 기능
  • @EnableWebSecurity
requestMatchers("/api/user/**").permitAll()
  • 예외처리:  '/api/user/'로 시작하는 요청 모두 접근 허가