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 | 13 ++++++++++++- 1 files changed, 12 insertions(+), 1 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 cee818f..b246c23 100644 --- a/src/main/java/com/ruoyi/project/system/controller/SysLoginController.java +++ b/src/main/java/com/ruoyi/project/system/controller/SysLoginController.java @@ -10,8 +10,10 @@ import com.ruoyi.common.constant.Constants; 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; import com.ruoyi.framework.security.service.SysPermissionService; +import com.ruoyi.framework.security.service.TokenService; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.project.system.domain.SysMenu; import com.ruoyi.project.system.domain.SysUser; @@ -33,6 +35,9 @@ @Autowired private SysPermissionService permissionService; + + @Autowired + private TokenService tokenService; /** * 鐧诲綍鏂规硶 @@ -59,11 +64,17 @@ @GetMapping("getInfo") public AjaxResult getInfo() { - SysUser user = SecurityUtils.getLoginUser().getUser(); + 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); -- Gitblit v1.9.3