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