From ab147df2f1e378e43c8c71a5119fc12153ffad18 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期五, 12 七月 2024 13:51:34 +0800 Subject: [PATCH] update 优化 数据权限支持通过菜单标识符获取数据所有权 --- ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/annotation/DataColumn.java | 7 +++++++ ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/handler/PlusDataPermissionHandler.java | 6 ++++++ 2 files changed, 13 insertions(+), 0 deletions(-) diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/annotation/DataColumn.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/annotation/DataColumn.java index f8c5cd0..2879b9d 100644 --- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/annotation/DataColumn.java +++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/annotation/DataColumn.java @@ -30,4 +30,11 @@ */ String[] value() default "dept_id"; + /** + * 鏉冮檺鏍囪瘑绗� 鐢ㄤ簬閫氳繃鑿滃崟鏉冮檺鏍囪瘑绗︽潵鑾峰彇鏁版嵁鏉冮檺 + * 鎷ユ湁姝ゆ爣璇嗙鐨勮鑹� 灏嗕笉浼氭嫾鎺ユ瑙掕壊鐨勬暟鎹繃婊ql + * + * @return 鏉冮檺鏍囪瘑绗� + */ + String permission() default ""; } diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/handler/PlusDataPermissionHandler.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/handler/PlusDataPermissionHandler.java index 239285c..61c86ff 100644 --- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/handler/PlusDataPermissionHandler.java +++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/handler/PlusDataPermissionHandler.java @@ -158,6 +158,12 @@ )) { 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]); -- Gitblit v1.9.3