@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object object) {
String jwt = request.getHeader("auth");
String payloadKey = "apitest";
Map<String, Object> map = new HashMap<>(8);
HandlerMethod handlerMethod=(HandlerMethod)object;
Class type = handlerMethod.getBeanType();
if (type.isAnnotationPresent(Auth.class)) {
try {
if (jwt == null || jwt.isEmpty() || jwt.isBlank() || !Objects.equals(payloadKey, JwtUtil.parseJWT(jwt).get("info", String.class))) {
map.put("status", ErrorEnum.AUTH_FAILED.getStatus());
map.put("message", ErrorEnum.AUTH_FAILED.getMessage());
returnJson(response, map);
return false;
}
}catch (ExpiredJwtException | SignatureException | MalformedJwtException e){
map.put("status", ErrorEnum.AUTH_FAILED.getStatus());
map.put("message", ErrorEnum.AUTH_FAILED.getMessage());
returnJson(response, map);
return false;
}catch (Exception e){
e.printStackTrace();
}
}
log.info("1");
return true;
}
下面那个 log.info("1")为什么会执行了 3 次呢
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.