티스토리 뷰
문제상황
토이 프로젝트를 진행하고 있었다.
나는 스프링 시큐리티를 활용해서 인증/인가 작업을 처리했고 JWT를 활용하여 로그인을 구현하고 있기에 커스텀한 인증 필터를 하나 더 만들어서 스프링 시큐리티 필터에 추가시켰다.
스프링 시큐리티 같은 경우 필터기반으로 인증/인가 작업을 한다. 그래서 별다른 설정을 하지 않으면 모든 경로에 대해 필터를 지나가게하여 보안 작업을 처리한다. 이 때 이미지 또는 .css, .js, favicon 등은 필터를 거치지 않아도 접근이 가능토록 해야했기에 아래 코드를 사용하여 필터무시 설정을 해줬다.
@Bean
public WebSecurityCustomizer configure() {
return (web ->
web.ignoring().requestMatchers("/image/**", "/css/**", "/js/**", "/favicon"));
}
하지만 로그를 찍어보니 저 위에 로그를 찍어보니 위의 경로에 대해 JWT 인증필터를 지나고 있는 로그가 찍힌 것을 확인하였다.
문제해결
문제는 내가 만든 커스텀필터가 Bean 객체로 등록되어있기에 스프링시큐티리 필터체인에 포함되었을 뿐만 아니라 일반적인 필터로도 동작하고 있었기 때문이다. 즉, 스프링 필터체인에서는 무시되더라도 해당 필터를 거치게 되는 것이였다.
결론적으로 해당 필터의 Bean 객체의 설정을 해제(@Component 어노테이션 제거)하고 필터 인스턴스를 설정 클래스에서 직접 생성해서 스프링 시큐리티 설정에 넣어주니 문제가 해결되었다.
'만들어보자!!' 카테고리의 다른 글
[토이프로젝트 저장소]검색어 자동완성 기능을 만들어보자(1) - 기존상황 및 고려사항 그리고 기능 블록도 (0) | 2023.08.05 |
---|---|
[블로그 프로젝트] 스프링에서 제공하는 기본 Cache를 이용해서 반복되는 요청자료를 빠르게 가져오자 (0) | 2023.05.01 |
[블로그프로젝트] - 임시저장기능 만들기 (0) | 2022.11.30 |
[블로그프로젝트] - Fetch Join을 통한 성능 개선 (0) | 2022.11.25 |
게시판 만들기 - Entity 개발 (0) | 2022.09.24 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- springboot
- 백준#서강근육맨#20300
- querydsl
- 백준
- 프로그래머스
- 파이썬
- 사탕 게임#백준#3085
- 백엔드#게시판
- 회고
- 11659
- 1316번
- 오류
- 덧칠하기
- 서블릿#Servlet
- 자바
- 스프링
- HTTP#HTTP특징
- 게시판#자바#JPA#Entity
- 7568
- MVC
- 백준#잃어버린 괄호#1541
- this()
- arraylist
- Spring
- java
- list
- 4673번
- 1978
- 대충 만든 자판
- controller
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
글 보관함