반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 코테준비
- 자바공부
- 카프카
- Axon framework
- K8S
- 코테공부
- 알고리즘공부
- 자료구조공부
- Flutter
- querydsl
- DDD
- 스프링 공부
- 프로그래머스
- 기술공부
- 기술면접공부
- 플러터 공부
- 스프링
- nestjs스터디
- nestjs공부
- Kafka
- 스프링공부
- 스프링부트공부
- JPA 공부
- nestjs
- JPA예제
- JPA스터디
- JPA공부
- JPA
- 플러터 개발
- 스프링부트
Archives
- Today
- Total
DevBoi
[Spring] HandlerInterceptor 본문
반응형
HandlerInterceptor는, 특정한 URI 호출을 가로채는 역할을 한다.
이를 이용하여, 기존 컨트롤러의 로직을 수정하지 않고도, 사전이나 사후 제어가 가능하다.
preHandle
지정된 컨트롤러의 동작 이전에 수행할 동작
posthandle
지정된 컨트롤러의 동작 이후에 처리할 동작
Spring MVC의 dispatcher Servlet이 화면을 처리하기 전에 동작
afterCompletion
DispatcherServlet이 화면을 처리한 후에 동작
Filter 와 Interceptor의 차이는 Dispathcher Servlet이 실행된 이전이냐, 후이다의 차이다.
추가로 Filter는 웹 애플리케이션 내 동작하기 때문에 Spring context에 접근하기 어렵다.
반면 인터셉터는 스프링 내에서 동작하기 때문에 Spring Context에 접근하기 용이하다.
등록하는 방법은
WebMvcConfigurerAdapter를 상속받아서, addInterceptors를 오버라이드하여 구현하면된다.
해당 인터셉터에 대한 내용 추가와, 적용패턴 제외 패턴을 설정해주면 된다.
이런방식으로 로그인 언터셉터도,
세션에 get,set을 하고 사용자의 로그인 성공여부를 알리는 값을 넣어준다.
이건 session을 단순히 볼 수도있지만, 실무에서는 거의? redis방식으로 넣어서 사용한다.
예를 들면 로그인 성공여부를 redis에 넣고 필요할때마다 redis의 값을 가져와서 로그인 여부를 체크한다.
반응형
'Develop > [Spring]' 카테고리의 다른 글
[Spring] HandlerInterceptor (0) | 2022.05.10 |
---|---|
[Springboot] logging 전략 관련 주저리... (0) | 2022.05.09 |
[Spring] ControllerAdvice (0) | 2022.05.02 |
@SessionAttribute에 대해서 (0) | 2022.04.29 |
[Spring] static 과 스프링 빈의 차이 (2) | 2022.04.29 |