SpringBoot拦截器
@Component
public class UserSecurityInterceptor implements HandlerInterceptor {
private static final Logger LOGGER = LoggerFactory.getLogger(UserSecurityInterceptor.class);
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("request is {}", request.getRequestURI());
}
String currentUser = (String) request.getSession().getAttribute(GlobalConstants.USER_LOGIN_SESSION);
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("currentUser is {}", currentUser);
}
if (StringUtils.isEmpty(currentUser)) {
response.sendRedirect(request.getContextPath() + "/401");
return false;
}
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
}
}
@Configuration
public class WebMvcConf extends WebMvcConfigurerAdapter {
@Autowired
private UserSecurityInterceptor securityInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
//pages下的所有页面均需要验证
registry.addInterceptor(securityInterceptor).addPathPatterns("/pages/**");
}
}