自定义拦截器,拦截到了某个请求就返回给前端一个JSON串
这里通过token进行判断,如果token没有过期,就放行,如果token过期了,那就返回给前端一个失败状态码
/*
* preHandle:在控制器(controller)前执行,返回值表示是否中断后续执行
* 当返回值为true时表示继续向下执行,为false时会中断后续所有操作
* */
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
// 获取请求头中的令牌
String token = request.getHeader("token");
try {
JWTUtils.verify(token);// 验证令牌,成功直接放行,失败不放行,并返回给前端一个JSON串
return true;
} catch (Exception e) {
System.out.println(e.getMessage());
response.setCharacterEncoding("UTF-8");
response.setContentType("application/json;charset=UTF-8");
PrintWriter out = null;
try {
out = response.getWriter();
out.write(JSONUtils.getJSONString(-1,"The Token is wrong"));
} catch (IOException ioException) {
ioException.printStackTrace();
}
}
return false;
}
还没有评论,来说两句吧...