public void doFilter(ServletRequest servletRequest, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
if (isWhiteReq(request.getRequestURI())) {
chain.doFilter(request, response);
} else {
String token = request.getHeader("token");
if (StringUtils.isNotBlank(token)) {
try {
Token tokenInfo = TokenUtil.getTokenInfo(token);
if (tokenInfo != null) {
Long now = System.currentTimeMillis();
if (now - tokenInfo.getTime() < 1000 * 60 * 30) {
String value = tokenInfo.getValue();
TokenUtil.setTokenInfo(token, value);
WebUtil.saveCurrentUser(request, value);
}
}
} catch (Exception e) {
logger.error("token检查发生异常:", e);
}
}
// 响应
if (DataUtil.isEmpty(WebUtil.getCurrentUser(request))) {
response.setContentType("text/html; charset=UTF-8");
Map<String, Object> modelMap = InstanceUtil.newLinkedHashMap();
modelMap.put("httpCode", HttpCode.UNAUTHORIZED.value());
modelMap.put("msg", HttpCode.UNAUTHORIZED.msg());
modelMap.put("timestamp", System.currentTimeMillis());
PrintWriter out = response.getWriter();
out.println(JSON.toJSONString(modelMap));
out.flush();
out.close();
} else {
chain.doFilter(request, response);
}
}
}
TokenFilter.java 文件源码
java
阅读 29
收藏 0
点赞 0
评论 0
项目:automat
作者:
评论列表
文章目录