44323
2024-05-21 a2762d243c7f5585b7996eeb8e9aeb0634af0167
ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java
@@ -57,8 +57,12 @@
            return unauthorizedResponse(exchange, "令牌已过期或验证不正确!");
        }
        String userkey = JwtUtils.getUserKey(claims);
        String userkey1 = JwtUtils.getUserKey1(claims);
        String userkey2 = JwtUtils.getUserKey2(claims);
        boolean islogin = redisService.hasKey(getTokenKey(userkey));
        if (!islogin) {
        boolean islogin1 = redisService.hasKey(getTokenKey(userkey1));
        boolean islogin2 = redisService.hasKey(getTokenKey(userkey2));
        if (!islogin && !islogin1 && !islogin2) {
            return unauthorizedResponse(exchange, "登录状态已过期");
        }
        String userid = JwtUtils.getUserId(claims);
@@ -67,8 +71,16 @@
            return unauthorizedResponse(exchange, "令牌验证失败");
        }
        // 设置用户信息到请求
        if (org.springframework.util.StringUtils.hasLength(userkey)){
        addHeader(mutate, SecurityConstants.USER_KEY, userkey);
        }
        if (org.springframework.util.StringUtils.hasLength(userkey1)){
            addHeader(mutate, SecurityConstants.USER_PARENT_KEY, userkey1);
        }
        if (org.springframework.util.StringUtils.hasLength(userkey2)){
            addHeader(mutate, SecurityConstants.USER_STUDY_KEY, userkey2);
        }
        // 设置用户信息到请求
        addHeader(mutate, SecurityConstants.DETAILS_USER_ID, userid);
        addHeader(mutate, SecurityConstants.DETAILS_USERNAME, username);
        // 内部请求来源参数清除