public class TokenInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object hander) throws Exception {
response.setCharacterEncoding("utf_8");
String token = request.getHeader("accessToken");
if(token != null){
boolean flag = JwtUtil.verify(token);
if(flag){
return true;
}
}
return false;
}
@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 {
}
}
继承HandlerInterceptor类,主要是重写preHandle这个方法
@Configuration
public class WebConfig extends WebMvcConfigurationSupport {
@Override
protected void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new TokenInterceptor()).addPathPatterns("/1/people/**").excludePathPatterns("/2/people/**");
// registry.addInterceptor(new TokenInterceptor()).addPathPatterns("/Login/login");
// registry.addInterceptor(new TokenInterceptor()).excludePathPatterns("/Login/login");
super.addInterceptors(registry);
}
}
这个webconfig一定要配上,addPathPatterns是起效的接口,后面是不起效的接口
这两个文件拿过去就可以直接用了,这就是个基于token实现的简单拦截器