From eae8ff9771de002f800bd11fd6fa3e238e9ef94c Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期一, 21 十月 2024 16:28:27 +0800 Subject: [PATCH] 优化权限更新后同步缓存 --- src/main/java/com/ruoyi/project/system/controller/SysLoginController.java | 15 +++++++++------ 1 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/ruoyi/project/system/controller/SysLoginController.java b/src/main/java/com/ruoyi/project/system/controller/SysLoginController.java index 73aaa71..b246c23 100644 --- a/src/main/java/com/ruoyi/project/system/controller/SysLoginController.java +++ b/src/main/java/com/ruoyi/project/system/controller/SysLoginController.java @@ -8,7 +8,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import com.ruoyi.common.constant.Constants; -import com.ruoyi.common.utils.ServletUtils; +import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.framework.security.LoginBody; import com.ruoyi.framework.security.LoginUser; import com.ruoyi.framework.security.service.SysLoginService; @@ -64,12 +64,17 @@ @GetMapping("getInfo") public AjaxResult getInfo() { - LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); + LoginUser loginUser = SecurityUtils.getLoginUser(); SysUser user = loginUser.getUser(); // 瑙掕壊闆嗗悎 Set<String> roles = permissionService.getRolePermission(user); // 鏉冮檺闆嗗悎 Set<String> permissions = permissionService.getMenuPermission(user); + if (!loginUser.getPermissions().equals(permissions)) + { + loginUser.setPermissions(permissions); + tokenService.refreshToken(loginUser); + } AjaxResult ajax = AjaxResult.success(); ajax.put("user", user); ajax.put("roles", roles); @@ -85,10 +90,8 @@ @GetMapping("getRouters") public AjaxResult getRouters() { - LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); - // 鐢ㄦ埛淇℃伅 - SysUser user = loginUser.getUser(); - List<SysMenu> menus = menuService.selectMenuTreeByUserId(user.getUserId()); + Long userId = SecurityUtils.getUserId(); + List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId); return AjaxResult.success(menuService.buildMenus(menus)); } } -- Gitblit v1.9.3