개발/JAVA
[SpringBoot] Interceptor 설정
경주초이
2020. 8. 13. 10:13
Interceptor.java
@Component
public class Interceptor extends HandlerInterceptorAdapter {
Logger log = LoggerFactory.getLogger(this.getClass());
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
log.info("/****** MOBILE F/W INTERCEPTOR START ******/");
log.info(" Request URI : " + request.getRequestURI());
log.info(" Request URL : " + request.getRequestURL());
boolean result = false;
try {
log.info("======================================================");
System.out.println(request.getSession().getAttribute("loginUserId"));
System.out.println();
if (excludeUrl(request)) {
result = true;
} else if (request.getSession().getAttribute("loginUserId") != null) {
result = true;
} else {
response.sendRedirect("/views/login");
}
} catch (Exception e) {
e.printStackTrace();
log.info(e.getMessage());
return false;
}
log.info("/****** MOBILE F/W INTERCEPTOR END ******/");
log.info("result: " + result);
return result;
}
private boolean excludeUrl(HttpServletRequest request) {
String uri = request.getRequestURI().toString().trim();
if (uri.indexOf("/views/login") > -1) {
return true;
} else {
return false;
}
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
// log.info("Interceptor > postHandle");
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object object, Exception arg3)
throws Exception {
// log.info("Interceptor > afterCompletion");
}
}
InterceptorConfig.java
@Configuration
public class InterceptorConfig implements WebMvcConfigurer {
@Autowired
Interceptor interceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(interceptor).addPathPatterns("/**")
.excludePathPatterns("/_nuxt/**")
.excludePathPatterns("/index.html");
}
}