Spring
[TIL] 231123 Spring Filter, Spring Security 프레임워크
studymode
2023. 11. 23. 23:28
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/'로 시작하는 요청 모두 접근 허가