diff --git a/boot-service/src/main/java/com/xwbing/service/sys/SysUserService.java b/boot-service/src/main/java/com/xwbing/service/sys/SysUserService.java index 2508418..db66592 100644 --- a/boot-service/src/main/java/com/xwbing/service/sys/SysUserService.java +++ b/boot-service/src/main/java/com/xwbing/service/sys/SysUserService.java @@ -298,7 +298,8 @@ public class SysUserService { if (!save.isSuccess()) { throw new BusinessException("保存用户登录日志失败"); } - //保存登录数据(rsa加密后密文是多行的,所以再次url编码) + //保存登录数据 + //rsa加密后密文是多行的,所以再次url编码 String token = EncodeUtils.urlEncode(RSAUtil.encrypt(userName + "_" + ip)); CommonDataUtil.setToken(token, userName); restMessage.setData(token); diff --git a/boot-web/src/main/java/com/xwbing/handler/LoginInterceptor.java b/boot-web/src/main/java/com/xwbing/handler/LoginInterceptor.java index c211394..74cc35f 100644 --- a/boot-web/src/main/java/com/xwbing/handler/LoginInterceptor.java +++ b/boot-web/src/main/java/com/xwbing/handler/LoginInterceptor.java @@ -12,6 +12,7 @@ import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; import java.io.IOException; import java.io.OutputStream; import java.util.HashSet; @@ -47,20 +48,27 @@ public class LoginInterceptor extends HandlerInterceptorAdapter { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { String servletPath = request.getServletPath(); if (!SET.contains(servletPath) && !servletPath.contains("login") && !servletPath.contains("test")) { + HttpSession session = request.getSession(false); String token = request.getHeader("token"); - if (StringUtils.isEmpty(token)) { - getOutputStream(response, "token不能为空"); + if (session == null) { + getOutputStream(response, "登录超时,请重新登录"); + CommonDataUtil.removeToken(token); return false; } else { - if (CommonDataUtil.getToken(token) != null) { - ThreadLocalUtil.setToken(token); - return true; - } else { - logger.error("用户未登录"); - getOutputStream(response, "请先登录"); - //未登录,重定向到登录页面 -// response.sendRedirect("/login.html"); + if (StringUtils.isEmpty(token)) { + getOutputStream(response, "token不能为空"); return false; + } else { + if (CommonDataUtil.getToken(token) != null) { + ThreadLocalUtil.setToken(token); + return true; + } else { + logger.error("用户未登录"); + getOutputStream(response, "请先登录"); + //未登录,重定向到登录页面 +// response.sendRedirect("/login.html"); + return false; + } } } } diff --git a/boot-web/src/main/resources/application.yml b/boot-web/src/main/resources/application.yml index 8493abe..0c89f74 100644 --- a/boot-web/src/main/resources/application.yml +++ b/boot-web/src/main/resources/application.yml @@ -2,7 +2,7 @@ server: port: 8088 session: - timeout: 3600 #单位秒 + timeout: 60 #单位秒 context-path: / #spring