|
|
@ -39,37 +39,37 @@ public class JwtInterceptor implements HandlerInterceptor {
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
|
|
|
|
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
|
|
|
|
// 忽略带JwtIgnore注解的请求, 不做后续token认证校验
|
|
|
|
// 忽略带JwtIgnore注解的请求, 不做后续token认证校验
|
|
|
|
if (handler instanceof HandlerMethod) {
|
|
|
|
// if (handler instanceof HandlerMethod) {
|
|
|
|
HandlerMethod handlerMethod = (HandlerMethod) handler;
|
|
|
|
// HandlerMethod handlerMethod = (HandlerMethod) handler;
|
|
|
|
JwtIgnore jwtIgnore = handlerMethod.getMethodAnnotation(JwtIgnore.class);
|
|
|
|
// JwtIgnore jwtIgnore = handlerMethod.getMethodAnnotation(JwtIgnore.class);
|
|
|
|
if (jwtIgnore != null) {
|
|
|
|
// if (jwtIgnore != null) {
|
|
|
|
return true;
|
|
|
|
// return true;
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
if (HttpMethod.GET.name().equals(request.getMethod())) {
|
|
|
|
// if (HttpMethod.GET.name().equals(request.getMethod())) {
|
|
|
|
response.setStatus(HttpServletResponse.SC_OK);
|
|
|
|
// response.setStatus(HttpServletResponse.SC_OK);
|
|
|
|
return true;
|
|
|
|
// return true;
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
// 获取请求头信息authorization信息
|
|
|
|
// // 获取请求头信息authorization信息
|
|
|
|
final String sessionId = request.getHeader("sessionId");
|
|
|
|
// final String sessionId = request.getHeader("sessionId");
|
|
|
|
if (StrUtil.isBlank(sessionId)) {
|
|
|
|
// if (StrUtil.isBlank(sessionId)) {
|
|
|
|
log.info("sessionId为空登录过期");
|
|
|
|
// log.info("sessionId为空登录过期");
|
|
|
|
Asserts.fail(401, "登录过期");
|
|
|
|
// Asserts.fail(401, "登录过期");
|
|
|
|
}else{
|
|
|
|
// }else{
|
|
|
|
UserSession user = sysUserService.selectUserById(sessionId);
|
|
|
|
// UserSession user = sysUserService.selectUserById(sessionId);
|
|
|
|
if(user!=null) {
|
|
|
|
// if(user!=null) {
|
|
|
|
BigInteger expireTime = user.getExpireTime();
|
|
|
|
// BigInteger expireTime = user.getExpireTime();
|
|
|
|
|
|
|
|
//
|
|
|
|
BigInteger currentTime = MyDateUtils.TimeMillSecond2Second(new DateTime());
|
|
|
|
// BigInteger currentTime = MyDateUtils.TimeMillSecond2Second(new DateTime());
|
|
|
|
if (currentTime.subtract(expireTime).compareTo(time) > 0) {
|
|
|
|
// if (currentTime.subtract(expireTime).compareTo(time) > 0) {
|
|
|
|
user.setExpireTime(currentTime.add(time));
|
|
|
|
// user.setExpireTime(currentTime.add(time));
|
|
|
|
sysUserService.updateUserSession(user);
|
|
|
|
// sysUserService.updateUserSession(user);
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
}else{
|
|
|
|
// }else{
|
|
|
|
log.info("sessionId为空登录过期");
|
|
|
|
// log.info("sessionId为空登录过期");
|
|
|
|
Asserts.fail(401, "登录过期");
|
|
|
|
// Asserts.fail(401, "登录过期");
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|