版本控制 token校验

This commit is contained in:
2024-04-08 09:13:31 +08:00
parent a07b70d86c
commit 74f2f9e789
4 changed files with 78 additions and 117 deletions

View File

@@ -37,7 +37,7 @@ public class LoginFilter implements Filter {
"css/**",
"js/**",
"cashierService/phoneValidateCode",//验证码
"cashierService/location/**",//
"cashierService/location/**",//高德 获取行政区域
"cashierService/home/homePageUp",//首页上半
"cashierService/home",//首页
"cashierService/login/**"//登录部分接口不校验
@@ -67,43 +67,45 @@ public class LoginFilter implements Filter {
chain.doFilter(req, resp);
return;
}
// String environment = request.getHeader("environment");
// //token校验目前只对app生效
// if (StringUtils.isNotBlank(environment) || !environment.equals("app")) {
// chain.doFilter(req, resp);
// return;
// }
// // 判断用户TOKEN是否存在
// String token = request.getHeader("token");
// if (StringUtils.isBlank(token)) {
// Result result = new Result(CodeEnum.TOKEN_EXEIST);
// String jsonString = JSONObject.toJSONString(result);
// JSONObject jsonObject = JSONObject.parseObject(jsonString, JSONObject.class);
// response.getWriter().print(jsonObject);
// response.getWriter().flush();//流里边的缓存刷出
// return;
// }
// //获取当前登录人的用户id
// String loginName = TokenUtil.parseParamFromToken(token, "userId").toString();
// //获取redis中的token
// String message = redisUtil.getMessage(RedisCst.ONLINE_APP_USER.concat(loginName));
// if (StringUtils.isBlank(message)) {
// Result result = new Result(CodeEnum.TOKEN_EXPIRED);
// String jsonString = JSONObject.toJSONString(result);
// JSONObject jsonObject = JSONObject.parseObject(jsonString, JSONObject.class);
// response.getWriter().print(jsonObject);
// response.getWriter().flush();//流里边的缓存刷出
// return;
// }
// String redisToken = JSON.parseObject(message).getString("token");
// if (!token.equals(redisToken)) {
// Result result = new Result(CodeEnum.TOKEN_EXPIRED);
// String jsonString = JSONObject.toJSONString(result);
// JSONObject jsonObject = JSONObject.parseObject(jsonString, JSONObject.class);
// response.getWriter().print(jsonObject);
// response.getWriter().flush();//流里边的缓存刷出
// return;
// }
//environment 环境标识 wx app 后续environment不可为空
String environment = request.getHeader("environment");
//token校验目前只对app生效
if (StringUtils.isBlank(environment) || !environment.equals("app")) {
chain.doFilter(req, resp);
return;
}
// 判断用户TOKEN是否存在
String token = request.getHeader("token");
if (StringUtils.isBlank(token)) {
Result result = new Result(CodeEnum.TOKEN_EXEIST);
String jsonString = JSONObject.toJSONString(result);
JSONObject jsonObject = JSONObject.parseObject(jsonString, JSONObject.class);
response.getWriter().print(jsonObject);
response.getWriter().flush();//流里边的缓存刷出
return;
}
//获取当前登录人的用户id
String loginName = TokenUtil.parseParamFromToken(token, "userId").toString();
//获取redis中的token
String message = redisUtil.getMessage(RedisCst.ONLINE_APP_USER.concat(loginName));
if (StringUtils.isBlank(message)) {
Result result = new Result(CodeEnum.TOKEN_EXPIRED);
String jsonString = JSONObject.toJSONString(result);
JSONObject jsonObject = JSONObject.parseObject(jsonString, JSONObject.class);
response.getWriter().print(jsonObject);
response.getWriter().flush();//流里边的缓存刷出
return;
}
String redisToken = JSON.parseObject(message).getString("token");
if (!token.equals(redisToken)) {
Result result = new Result(CodeEnum.TOKEN_EXPIRED);
String jsonString = JSONObject.toJSONString(result);
JSONObject jsonObject = JSONObject.parseObject(jsonString, JSONObject.class);
response.getWriter().print(jsonObject);
response.getWriter().flush();//流里边的缓存刷出
return;
}
chain.doFilter(req, resp);
}