yzc 1 жил өмнө
parent
commit
a2ebb07e33

+ 9 - 7
hx-tenant/src/main/java/com/fjhx/tenant/controller/tenant/RoleTenantController.java

@@ -80,14 +80,18 @@ public class RoleTenantController extends BaseController {
      */
     @PutMapping
     public void edit(@Validated @RequestBody SysRole role) {
-        //禁止修改admin角色
+        LoginUser loginUser = getLoginUser();
+        SysUser user = loginUser.getUser();
+        //非超管 禁止修改admin角色
         SysRole oldSysRole = roleService.getById(role.getRoleId());
-        if ("admin".equals(oldSysRole.getRoleKey())) {
+        if (!user.isAdmin() && "admin".equals(oldSysRole.getRoleKey())) {
             throw new ServiceException("您无权操作该数据");
         }
-        //只能改本租户的数据
-        String tenantId = SecurityUtils.getTenantId();
-//        String tenantId = role.getTenantId();
+        String tenantId = role.getTenantId();
+        if (!user.isAdmin()) {
+            //非超管 只能改本租户的数据
+            tenantId = SecurityUtils.getTenantId();
+        }
         if (ObjectUtil.isEmpty(tenantId)) {
             throw new ServiceException("租户id不能为空");
         }
@@ -109,8 +113,6 @@ public class RoleTenantController extends BaseController {
         }
 
         // 更新缓存用户权限
-        LoginUser loginUser = getLoginUser();
-        SysUser user = loginUser.getUser();
         if (StringUtils.isNotNull(user) && !user.isAdmin()) {
             loginUser.setPermissions(permissionService.getMenuPermission(user));
             loginUser.setUser(userService.selectUserByUserName(user.getTenantId(), user.getUserName()));

+ 1 - 0
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java

@@ -236,6 +236,7 @@ public class TokenService {
             //时间戳有效时间5秒内
             if (newTime - Long.parseLong(decodeTime) > 5000 || !Objects.equals(randomStr, decodeRandomStr)) {
                 //无效token直接返回空
+                log.error("请求token密文不在有效期内 请求时间{} 服务器时间{}", decodeTime, newTime);
                 return null;
             }
             return decodeToken;