From 4e8dd706d568d1276ad82a0bf8f4ba13c5dac5ef Mon Sep 17 00:00:00 2001
From: 0慕容雪0 <ytu.mxh@163.com>
Date: Fri, 10 Mar 2023 16:22:35 +0800
Subject: [PATCH] update ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java. DataScopeAspect,数据权限切面处理类中,用户多角色情况下,若所有角色都不包含传递过来的权限字符,这个时候sqlString也会为空,会导致用户拥有全部数据权限,所以要限制一下, 可以根据conditions集合是否为空,来判断循环时所有角色是否都是在判断权限字符时continue了。 复现方法: 在使用@DataScope注解时permission定义了值,这个值所有角色不包含。
---
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java | 25 ++++++++++++++++++++-----
1 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java
index f28a063..2396f80 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java
@@ -1,6 +1,8 @@
package com.ruoyi.common.core.domain.entity;
+import java.util.Set;
import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
@@ -31,7 +33,7 @@
/** 角色排序 */
@Excel(name = "角色排序")
- private String roleSort;
+ private Integer roleSort;
/** 数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限;5:仅本人数据权限) */
@Excel(name = "数据范围", readConverterExp = "1=所有数据权限,2=自定义数据权限,3=本部门数据权限,4=本部门及以下数据权限,5=仅本人数据权限")
@@ -58,6 +60,9 @@
/** 部门组(数据权限) */
private Long[] deptIds;
+
+ /** 角色菜单权限 */
+ private Set<String> permissions;
public SysRole()
{
@@ -113,13 +118,13 @@
this.roleKey = roleKey;
}
- @NotBlank(message = "显示顺序不能为空")
- public String getRoleSort()
+ @NotNull(message = "显示顺序不能为空")
+ public Integer getRoleSort()
{
return roleSort;
}
- public void setRoleSort(String roleSort)
+ public void setRoleSort(Integer roleSort)
{
this.roleSort = roleSort;
}
@@ -203,7 +208,17 @@
{
this.deptIds = deptIds;
}
-
+
+ public Set<String> getPermissions()
+ {
+ return permissions;
+ }
+
+ public void setPermissions(Set<String> permissions)
+ {
+ this.permissions = permissions;
+ }
+
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
--
Gitblit v1.9.2