ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 인터셉터-2
    스프링 2023. 1. 8. 15:23

    로그인 처리를 구현해보자.

     

    @Slf4j
    public class LogInCheckInterceptor implements HandlerInterceptor {
    
        @Override
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
            String requestURI = request.getRequestURI();
    
            log.info("인증체크 인터셉터 실행 {}", request);
    
            HttpSession session = request.getSession();
    
            if (session == null || session.getAttribute(SessionConst.LOGIN_MEMBER) == null) {
                log.info("미인증 사용자");
                response.sendRedirect("/login?redirectURL=" + requestURI);
                return false;
            }
    
            return true;
        }
    
    }

    인증 로직을 구현할때는 컨트롤러 호출 전에만 호출 되면 된다. 따라서 로직에 맞게 preHandle만 구현을 하면 된다.

     

    앞서 필터에서 했던 whiteLIst로 처리하는 과정은 전혀 필요 없다.

    이 과정은 해당 인터셉터를 등록할 때 처리할 수 있으며 더 자세하게 가능하다.

     

    public void addInterceptors(InterceptorRegistry registry) {
            registry.addInterceptor(new LogInterceptor())
                    .order(1)
                    .addPathPatterns("/**")
                    .excludePathPatterns("/css/**", "/*.ico", "/error");
    
            registry.addInterceptor(new LogInCheckInterceptor())
                    .order(2)
                    .addPathPatterns("/**")
                    .excludePathPatterns("/", "/members/add", "/login", "/css/**", "/*.ico", "/error");
        }

    이전의 로그를 처리하는 인터셉터와 이어서 같이 연결한 모습이다.

    순서에 맞게 order가 2임을 주의해야 한다.

    728x90

    '스프링' 카테고리의 다른 글

    Swagger이용하기2  (0) 2023.01.09
    Swagger 이용하기  (0) 2023.01.09
    인터셉터-1  (0) 2023.01.08
    필터-2  (0) 2023.01.08
    필터-1  (0) 2023.01.08

    댓글

Designed by Tistory.