From 0ad5f18336491540db98ecf78ce86c16ed0fd572 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=89=E5=AE=89=E5=90=9B?= <2746727141@qq.com> Date: Thu, 28 Mar 2024 22:27:18 +0800 Subject: [PATCH] =?UTF-8?q?feat=20commit=20=E5=85=A5=E9=A9=BB=E4=BC=81?= =?UTF-8?q?=E4=B8=9A=E6=9D=83=E9=99=90=E6=8E=A7=E5=88=B6,=E5=85=A5?= =?UTF-8?q?=E9=A9=BB=E4=BC=81=E4=B8=9A=E7=9A=84=E4=BC=81=E4=B8=9A=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=8A=9F=E8=83=BD,=E7=94=A8=E6=88=B7=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zhilian/common/core/utils/JwtUtils.java | 19 +++++++++++++++ .../common/security/utils/SecurityUtils.java | 8 ++----- .../zhilian/gateway/filter/AuthFilter.java | 2 ++ .../system/controller/SysDeptController.java | 24 +++++++++---------- .../system/controller/SysUserController.java | 2 ++ .../resources/mapper/system/SysDeptMapper.xml | 10 +++----- 6 files changed, 39 insertions(+), 26 deletions(-) diff --git a/zhilian-common/zhilian-common-core/src/main/java/com/zhilian/common/core/utils/JwtUtils.java b/zhilian-common/zhilian-common-core/src/main/java/com/zhilian/common/core/utils/JwtUtils.java index ce89ded..2fdd611 100644 --- a/zhilian-common/zhilian-common-core/src/main/java/com/zhilian/common/core/utils/JwtUtils.java +++ b/zhilian-common/zhilian-common-core/src/main/java/com/zhilian/common/core/utils/JwtUtils.java @@ -109,6 +109,25 @@ public class JwtUtils { return getValue(claims, SecurityConstants.DETAILS_USERNAME); } + /** + * 根据令牌获取公司标识 + * @param token + * @return + */ + public static String getCompanySign (String token) { + Claims claims = parseToken(token); + return getValue(claims, SecurityConstants.COMPANY_SIGN); + } + + /** + * 根据身份信息获取公司标识 + * @param claims + * @return + */ + public static String getCompanySign (Claims claims) { + return getValue(claims, SecurityConstants.COMPANY_SIGN); + } + /** * 根据身份信息获取键值 * diff --git a/zhilian-common/zhilian-common-security/src/main/java/com/zhilian/common/security/utils/SecurityUtils.java b/zhilian-common/zhilian-common-security/src/main/java/com/zhilian/common/security/utils/SecurityUtils.java index 45300b6..61bcb12 100644 --- a/zhilian-common/zhilian-common-security/src/main/java/com/zhilian/common/security/utils/SecurityUtils.java +++ b/zhilian-common/zhilian-common-security/src/main/java/com/zhilian/common/security/utils/SecurityUtils.java @@ -36,12 +36,8 @@ public class SecurityUtils { /** * 获取公司标识 */ - public static String formatToken (String token) { - // 如果前端设置了令牌前缀,则裁剪掉前缀 - if (StringUtils.isNotEmpty(token) && token.startsWith(TokenConstants.PREFIX)) { - token = token.replaceFirst(TokenConstants.PREFIX, StringUtils.EMPTY); - } - return token; + public static String getCompanySign () { + return SecurityContextHolder.getCompanySign(); } /** diff --git a/zhilian-gateway/src/main/java/com/zhilian/gateway/filter/AuthFilter.java b/zhilian-gateway/src/main/java/com/zhilian/gateway/filter/AuthFilter.java index dfc5893..70fe616 100644 --- a/zhilian-gateway/src/main/java/com/zhilian/gateway/filter/AuthFilter.java +++ b/zhilian-gateway/src/main/java/com/zhilian/gateway/filter/AuthFilter.java @@ -66,11 +66,13 @@ public class AuthFilter implements GlobalFilter, Ordered { if (StringUtils.isEmpty(userid) || StringUtils.isEmpty(username)) { return unauthorizedResponse(exchange, "令牌验证失败"); } + String companySign = JwtUtils.getCompanySign(claims); // 设置用户信息到请求 addHeader(mutate, SecurityConstants.USER_KEY, userkey); addHeader(mutate, SecurityConstants.DETAILS_USER_ID, userid); addHeader(mutate, SecurityConstants.DETAILS_USERNAME, username); + addHeader(mutate, SecurityConstants.COMPANY_SIGN, companySign); // 内部请求来源参数清除 removeHeader(mutate, SecurityConstants.FROM_SOURCE); return chain.filter(exchange.mutate().request(mutate.build()).build()); diff --git a/zhilian-modules/zhilian-system/src/main/java/com/zhilian/system/controller/SysDeptController.java b/zhilian-modules/zhilian-system/src/main/java/com/zhilian/system/controller/SysDeptController.java index 3119503..337e2b0 100644 --- a/zhilian-modules/zhilian-system/src/main/java/com/zhilian/system/controller/SysDeptController.java +++ b/zhilian-modules/zhilian-system/src/main/java/com/zhilian/system/controller/SysDeptController.java @@ -36,8 +36,7 @@ public class SysDeptController extends BaseController { @Autowired private SysDeptService deptService; - @Autowired - private RedisService redisService; + /** * 获取部门列表 @@ -45,8 +44,7 @@ public class SysDeptController extends BaseController { @RequiresPermissions("system:dept:list") @GetMapping("/list") public Result list (SysDept dept, HttpServletRequest request) { - String companySign = getCompanySign(request); - dept.setCompanySign(companySign); + dept.setCompanySign(SecurityUtils.getCompanySign()); List depts = deptService.selectDeptList(dept); return success(depts); } @@ -124,15 +122,15 @@ public class SysDeptController extends BaseController { } - public String getCompanySign(HttpServletRequest request){ - Cookie[] cookies = request.getCookies(); - for (Cookie cookie : cookies) { - if ("companySign".equals(cookie.getName())){ - return cookie.getValue(); - } - } - throw new RuntimeException("公司标识无法获取"); - } +// public String getCompanySign(HttpServletRequest request){ +// Cookie[] cookies = request.getCookies(); +// for (Cookie cookie : cookies) { +// if ("companySign".equals(cookie.getName())){ +// return cookie.getValue(); +// } +// } +// throw new RuntimeException("公司标识无法获取"); +// } } diff --git a/zhilian-modules/zhilian-system/src/main/java/com/zhilian/system/controller/SysUserController.java b/zhilian-modules/zhilian-system/src/main/java/com/zhilian/system/controller/SysUserController.java index 1957db5..db91e35 100644 --- a/zhilian-modules/zhilian-system/src/main/java/com/zhilian/system/controller/SysUserController.java +++ b/zhilian-modules/zhilian-system/src/main/java/com/zhilian/system/controller/SysUserController.java @@ -288,6 +288,8 @@ public class SysUserController extends BaseController { @RequiresPermissions("system:user:list") @GetMapping("/deptTree") public Result deptTree (SysDept dept) { + String companySign = SecurityUtils.getCompanySign(); + dept.setCompanySign(companySign); return success(deptService.selectDeptTreeList(dept)); } } diff --git a/zhilian-modules/zhilian-system/src/main/resources/mapper/system/SysDeptMapper.xml b/zhilian-modules/zhilian-system/src/main/resources/mapper/system/SysDeptMapper.xml index a68d50e..63d9aa5 100644 --- a/zhilian-modules/zhilian-system/src/main/resources/mapper/system/SysDeptMapper.xml +++ b/zhilian-modules/zhilian-system/src/main/resources/mapper/system/SysDeptMapper.xml @@ -43,13 +43,9 @@