-
로그인 처리를 구현해보자.
@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