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/'로 시작하는 요청 모두 접근 허가
'Spring' 카테고리의 다른 글
[TIL] 231130Spring Timestamped @Service @Transactional (0) | 2023.11.30 |
---|---|
[TIL] 231124 Spring Security 로그인 (1) | 2023.11.24 |
[TIL] 231121 Spring 회원가입 구현 (1) | 2023.11.22 |
[TIL] 231117 Spring Data JPA, JPA Auditing, Query Method, Entity의 상태 (0) | 2023.11.17 |
[TIL] 231116 Spring | 영속성컨텍스트 JPA 트렌젝션 EntityManager (0) | 2023.11.16 |