From 9d1ab00d884b2225b60ee3efe3c00db510f91a29 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 28 二月 2025 17:57:00 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/JWTAuthenticationTokenFilter.java | 54 ++++++++++++++++++++++++++++-------------------------- 1 files changed, 28 insertions(+), 26 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/JWTAuthenticationTokenFilter.java b/springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/JWTAuthenticationTokenFilter.java index a5d2ce7..1637af4 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/JWTAuthenticationTokenFilter.java +++ b/springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/JWTAuthenticationTokenFilter.java @@ -212,7 +212,7 @@ String hexStr = AES.parseByte2HexStr(encrypt); safeboxRequestWrapper.addHeader(TokenConstant.TOKEN_USERINFO, hexStr); } - } else if(21 == type){ + }else if(21 == type){ //三个身边 String key = SecurityConstants.ROLE_USER + "sangeshenbian:" + userId; Boolean aBoolean = stringRedisTemplate.hasKey(key); @@ -253,7 +253,7 @@ safeboxRequestWrapper.addHeader(TokenConstant.TOKEN_USERINFO, hexStr); } - }else { + } else { String key = SecurityConstants.ROLE_USER + userId; Boolean aBoolean = stringRedisTemplate.hasKey(key); if (aBoolean) { @@ -270,32 +270,34 @@ valueOperations.set(key, JSONArray.toJSONString(authorities), 24, TimeUnit.HOURS); } } - } - UsernamePasswordAuthenticationToken authentication = - new UsernamePasswordAuthenticationToken(userId, userId, authorities);// 主要使用权限 账户 密码 不重要 - SecurityContextHolder.getContext().setAuthentication(authentication); - safeboxRequestWrapper.addHeader(TokenConstant.TOKEN_LOGOUT, tokenHeader); - // 登录用户的所有信息 - String userKey = UserConstants.LOGIN_USER_INFO + userId; - Boolean hasKeyLoginUserInfo = stringRedisTemplate.hasKey(userKey); - if (hasKeyLoginUserInfo) { - String userInfo = valueOperations.get(userKey); - byte[] encrypt = AES.encrypt(userInfo, Constants.AES_KEY); - String hexStr = AES.parseByte2HexStr(encrypt); - safeboxRequestWrapper.addHeader(TokenConstant.TOKEN_USERINFO, hexStr); - } else { - R<LoginUserInfoVO> r = userService.getUserInfoByUserId(userId); - if (!R.isOk(r)) { - ResultUtil.responseJson(response, R.fail(HttpStatus.ERROR, "登录用户信息查询失败")); - return; + + UsernamePasswordAuthenticationToken authentication = + new UsernamePasswordAuthenticationToken(userId, userId, authorities);// 主要使用权限 账户 密码 不重要 + SecurityContextHolder.getContext().setAuthentication(authentication); + safeboxRequestWrapper.addHeader(TokenConstant.TOKEN_LOGOUT, tokenHeader); + // 登录用户的所有信息 + String userKey = UserConstants.LOGIN_USER_INFO + userId; + Boolean hasKeyLoginUserInfo = stringRedisTemplate.hasKey(userKey); + if (hasKeyLoginUserInfo) { + String userInfo = valueOperations.get(userKey); + byte[] encrypt = AES.encrypt(userInfo, Constants.AES_KEY); + String hexStr = AES.parseByte2HexStr(encrypt); + safeboxRequestWrapper.addHeader(TokenConstant.TOKEN_USERINFO, hexStr); + } else { + R<LoginUserInfoVO> r = userService.getUserInfoByUserId(userId); + if (!R.isOk(r)) { + ResultUtil.responseJson(response, R.fail(HttpStatus.ERROR, "登录用户信息查询失败")); + return; + } + LoginUserInfoVO data = r.getData(); + String userInfo = JSONObject.toJSONString(data); + valueOperations.set(userKey, userInfo, 24, TimeUnit.HOURS); + byte[] encrypt = AES.encrypt(userInfo, Constants.AES_KEY); + String hexStr = AES.parseByte2HexStr(encrypt); + safeboxRequestWrapper.addHeader(TokenConstant.TOKEN_USERINFO, hexStr); } - LoginUserInfoVO data = r.getData(); - String userInfo = JSONObject.toJSONString(data); - valueOperations.set(userKey, userInfo, 24, TimeUnit.HOURS); - byte[] encrypt = AES.encrypt(userInfo, Constants.AES_KEY); - String hexStr = AES.parseByte2HexStr(encrypt); - safeboxRequestWrapper.addHeader(TokenConstant.TOKEN_USERINFO, hexStr); } + } else { // 小程序无需登录也可访问地址列表 List<String> noLoginUrl = new ArrayList<>(); -- Gitblit v1.7.1