Просмотр исходного кода

优化权限更新后同步缓存

RuoYi 1 год назад
Родитель
Сommit
1899a832b9

+ 11 - 1
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java

@@ -27,6 +27,7 @@ import com.ruoyi.common.log.annotation.Log;
27
 import com.ruoyi.common.log.enums.BusinessType;
27
 import com.ruoyi.common.log.enums.BusinessType;
28
 import com.ruoyi.common.security.annotation.InnerAuth;
28
 import com.ruoyi.common.security.annotation.InnerAuth;
29
 import com.ruoyi.common.security.annotation.RequiresPermissions;
29
 import com.ruoyi.common.security.annotation.RequiresPermissions;
30
+import com.ruoyi.common.security.service.TokenService;
30
 import com.ruoyi.common.security.utils.SecurityUtils;
31
 import com.ruoyi.common.security.utils.SecurityUtils;
31
 import com.ruoyi.system.api.domain.SysDept;
32
 import com.ruoyi.system.api.domain.SysDept;
32
 import com.ruoyi.system.api.domain.SysRole;
33
 import com.ruoyi.system.api.domain.SysRole;
@@ -66,6 +67,9 @@ public class SysUserController extends BaseController
66
     @Autowired
67
     @Autowired
67
     private ISysConfigService configService;
68
     private ISysConfigService configService;
68
 
69
 
70
+    @Autowired
71
+    private TokenService tokenService;
72
+
69
     /**
73
     /**
70
      * 获取用户列表
74
      * 获取用户列表
71
      */
75
      */
@@ -167,11 +171,17 @@ public class SysUserController extends BaseController
167
     @GetMapping("getInfo")
171
     @GetMapping("getInfo")
168
     public AjaxResult getInfo()
172
     public AjaxResult getInfo()
169
     {
173
     {
170
-        SysUser user = userService.selectUserById(SecurityUtils.getUserId());
174
+        LoginUser loginUser = SecurityUtils.getLoginUser();
175
+        SysUser user = loginUser.getSysUser();
171
         // 角色集合
176
         // 角色集合
172
         Set<String> roles = permissionService.getRolePermission(user);
177
         Set<String> roles = permissionService.getRolePermission(user);
173
         // 权限集合
178
         // 权限集合
174
         Set<String> permissions = permissionService.getMenuPermission(user);
179
         Set<String> permissions = permissionService.getMenuPermission(user);
180
+        if (!loginUser.getPermissions().equals(permissions))
181
+        {
182
+            loginUser.setPermissions(permissions);
183
+            tokenService.refreshToken(loginUser);
184
+        }
175
         AjaxResult ajax = AjaxResult.success();
185
         AjaxResult ajax = AjaxResult.success();
176
         ajax.put("user", user);
186
         ajax.put("user", user);
177
         ajax.put("roles", roles);
187
         ajax.put("roles", roles);