deason 6 vuotta sitten
vanhempi
commit
e40197028e

+ 10 - 8
src/main/java/cn/com/qmth/examcloud/app/core/config/TokenFilter.java

@@ -73,33 +73,34 @@ public class TokenFilter implements Filter {
         String key = request.getHeader(Constants.PARAM_KEY);
         String appToken = request.getHeader(Constants.PARAM_TOKEN);
         if (StringUtils.isBlank(key) || StringUtils.isBlank(appToken)) {
-            //key,token为空,则不用过滤处理
+            //key,token为空,则不用处理
             return null;
         }
 
-        //通过key获取原始登录信息
+        //通过key获取原始登录信息
         LoginInfo loginInfo = userAuthService.getLoginInfo(key);
         if (loginInfo == null) {
-            //loginInfo为空,则代表尚未登录不用处理
+            //原始登录信息为空,则代表尚未登录不用处理
             return null;
         }
 
         //同一个账号不同移动端设备,支持互踢
         if (!appToken.equals(loginInfo.getAppToken())) {
-            //Token参数值无效
+            //App Token参数值无效
             return null;
         }
 
         //处理已登录信息
         CustomHttpServletRequest customRequest = new CustomHttpServletRequest(request);
-        if (!this.filterAccessUrl(request.getServletPath())) {
+        boolean isAllow = this.filterAccessUrl(request.getServletPath());
+        if (!isAllow) {
             if (loginInfo.hasExpired(PLATFORM_SESSION_EXPIRE_TIME)) {
-                //判断原始的login token是否在有效时间内,若已超过有效时间,则自动登录续期
+                //判断原始登录Token是否在有效时间内,否则自动登录续期
                 this.reLogin(loginInfo);
             }
         }
 
-        //替换原始token到request请求中
+        //将App Token替换为原始登录Token到request请求中
         customRequest.addHeader(Constants.PARAM_TOKEN, loginInfo.getToken());
 
         //初始化内部接口请求鉴权
@@ -112,6 +113,7 @@ public class TokenFilter implements Filter {
             Result<UserInfo> result = userAuthService.login(loginInfo);
             UserInfo userInfo = result.getData();
             if (userInfo == null) {
+                log.debug("reLogin failed,Maybe user's password has changed.");
                 return;
             }
             //登录成功后缓存新的Token信息
@@ -125,7 +127,7 @@ public class TokenFilter implements Filter {
     }
 
     private boolean filterAccessUrl(String url) {
-        //过不用处理的访问地址
+        //过不用处理的访问地址
         if (url.contains("/user/logout")) {
             return true;
         }