废话不多,直接干货
1.在springboot工程基础上创建AdminInterceptor实现HandlerInterceptor
//用户登录就放行
public class AdminInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
Admin admin = (Admin) request.getSession().getAttribute(Constant.LOGIN_ADMIN);
if (null==admin){
response.sendRedirect(request.getContextPath()+"/admin/go/login");
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 {
}
}
2.在config包下定义InterceptConfig类实现WebMvcConfigurer
//拦截器的配置类
@Configuration
public class InterceptConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
//要拦截的路径
String[] addInterceptorPaths = {
"/**"
};
//要放行的路径
String[] exceptInterceptorPaths = {
"/bootstrap/**",
"/test/**",
"/images/**",
"/admin/go/login",
"/admin/login",
"/admin/go/error",
};
registry.addInterceptor(new AdminInterceptor()).addPathPatterns(addInterceptorPaths).excludePathPatterns(exc eptInterceptorPaths);
}
}