update 优化 数据权限支持通过菜单标识符获取数据所有权

This commit is contained in:
疯狂的狮子Li 2024-07-12 13:51:34 +08:00
parent 5444ccc857
commit ab147df2f1
2 changed files with 13 additions and 0 deletions

View File

@ -30,4 +30,11 @@ public @interface DataColumn {
*/
String[] value() default "dept_id";
/**
* 权限标识符 用于通过菜单权限标识符来获取数据权限
* 拥有此标识符的角色 将不会拼接此角色的数据过滤sql
*
* @return 权限标识符
*/
String permission() default "";
}

View File

@ -158,6 +158,12 @@ public class PlusDataPermissionHandler {
)) {
continue;
}
// 包含权限标识符 这直接跳过
if (StringUtils.isNotBlank(dataColumn.permission()) &&
CollUtil.contains(user.getMenuPermission(), dataColumn.permission())
) {
continue;
}
// 设置注解变量 key 为表达式变量 value 为变量值
for (int i = 0; i < dataColumn.key().length; i++) {
context.setVariable(dataColumn.key()[i], dataColumn.value()[i]);