로그인은 Filter일까 Interceptor일까?

최준호·2022년 10월 26일
0

업무

목록 보기
19/31
post-thumbnail

😂 로그인은 어디서 처리하는게 맞는걸까?

정답은 사실 없다. 어디서든 기능을 구현하면 되기 때문이다. 하지만 좀 더 정확하게 구분지어 사용을 하고 싶은 사람들도 있을 것이다. 그래서 이 고민의 결과를 여기다 적어두려고 한다.

👏 문제 해결

우선 filter와 interceptor, aop의 흐름을 보면 결국 controller에 오기 전에 실행되므로 어디서 실행해도 상관은 없어 보인다. 하지만 filter가 servlet 이전에 실행되고 interceptor와 aop는 servlet 이후에 spring 영역에서 돌고 있음을 확인할 수 있다.

그래서 여러 글들을 참고하고 내가 내린 결론은 인증 은 filter에서 권한 체크는 interceptor에서로 결론을 내렸다.

그 이유는 인증 자체가 안된 회원을 filter에서 미리 걸러내기 때문에 서버에서 더이상 돌아갈 일이 없어지게 하고 인증이 된 유저의 경우 권한에 대해 확인할 때는 interceptor에서 미리 확인해볼 수 있기 때문이다. 물론 filter를 체인 걸어서 한다던지 interceptor에서 order를 따라 순차적으로 확인한다던지 여러 구현 방법이 존재하겠지만 좀더 구분을 지어서 활용한다면 난 다음과 같은 활용이 맞을거 같다 생각이 들었다.

✅ 결론만 다시 말하면

인증 은 filter에서 권한 체크는 interceptor에서

profile
코딩을 깔끔하게 하고 싶어하는 초보 개발자 (편하게 글을 쓰기위해 반말체를 사용하고 있습니다! 양해 부탁드려요!) 현재 KakaoVX 근무중입니다!

0개의 댓글