| 2019.5.30 | SpringBoot |
public class LoginInterceptor implements HandlerInterceptor {
......
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object arg) throws Exception {
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
boolean allowGoing = true;
String token = request.getHeader("Authorization");
ResponseResult result = new ResponseResult();
String uri = request.getRequestURI();
if (!uri.endsWith("/login")) {
if (StringUtils.isEmpty(token)) {
handleNotAuthenticated(result, response);
allowGoing = false;
} else {
Object obj = CacheUtil.getUser(token);
if (null == obj) {
handleNotAuthenticated(result, response);
allowGoing = false;
}
}
}
return allowGoing;
}
public void handleNotAuthenticated(ResponseResult result, HttpServletResponse response) throws JsonProcessingException {
result.setSuccess(false);
result.setObj("Not Authenticated");
result.setMsg("请先登录");
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(j);
PrintWriter writer = null;
try {
writer = response.getWriter();
writer.print(json);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (writer != null) {
writer.close();
}
}
}
......
}
更新列表:
参考文章:
[4]: