Spring Login Intercepter

zihoo·2021년 8월 13일
0

Spring

목록 보기
3/3

Interceptor란

  • 프로그램 내에서 자주 사용되는 공통 기능을 따로 구현하여 처리하는 방법 중 하나
  • 공통 기능을 따로 구현하여 처리하는 방법 3가지
  1. Filter
  • DispatcherServlet이 실행되기 전과 후 수행되는 기능을 처리
  • Encoding, XSS 방어
  1. Interceptor
  • DispatcherServlet이 Controller를 호출하기 전과 후 수행되는 기능을 처리
  • http 프로토콜에 존재하는 정보를 활용 가능(로그인 여부 확인)
  1. AOP(Aspect Object Programming)
  • Controller 처리 이후 비즈니스 로직에서 실행
  • 로깅, 트랜잭셕, 에러 처리

HandlerInterceptor란

  • 특정 URI 호출을 가로채는 역할
  • 기존 컨트롤러 변경 없이 사전이나 사후 제어가 가능
    • Dispatcher Servlet -> Controller: preHandle()
    • Controller -> Dispatcher Servlet: postHandle()
  • 여러 URL에 적용하는 기능을 구현할 때 사용
  • 로그인 여부 체크

Interceptor 생성

  • HandlerInterceptorAdapter를 상속받는 Interceptor를 생성할 때는 다음의 함수를 사용한다.
  1. boolean preHandle(request, response, handler)
    : 전처리기
    : client에서 요청 후 contoller 호출 전 실행
  2. void postHandle(request, response, handler)
    : 후처리기
    : controller 호출 후 실행
  3. void afterCompletion(request, responser, handler, modelAndView)
    : controller 처리 및 화면 처리 후 실행
profile
(๑・̑◡・̑๑)

0개의 댓글