From 098d3347a0df808908aab8c554cd7c4febc5e6d9 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期一, 26 八月 2024 11:43:59 +0800 Subject: [PATCH] !577 发布 5.2.2 正式版 安全性提升 Merge pull request !577 from 疯狂的狮子Li/dev --- ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/enums/DataScopeType.java | 35 ++++++++++++++++++++++------------- 1 files changed, 22 insertions(+), 13 deletions(-) diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/enums/DataScopeType.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/enums/DataScopeType.java index 18d536e..981bd42 100644 --- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/enums/DataScopeType.java +++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/enums/DataScopeType.java @@ -1,19 +1,22 @@ package org.dromara.common.mybatis.enums; -import org.dromara.common.core.utils.StringUtils; import lombok.AllArgsConstructor; import lombok.Getter; +import org.dromara.common.core.domain.model.LoginUser; +import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.helper.DataPermissionHelper; /** - * 鏁版嵁鏉冮檺绫诲瀷 + * 鏁版嵁鏉冮檺绫诲瀷鏋氫妇 * <p> - * 璇硶鏀寔 spel 妯℃澘琛ㄨ揪寮� - * <p> - * 鍐呯疆鏁版嵁 user 褰撳墠鐢ㄦ埛 鍐呭鍙傝�� LoginUser - * 濡傞渶鎵╁睍鏁版嵁 鍙娇鐢� {@link DataPermissionHelper} 鎿嶄綔 - * 鍐呯疆鏈嶅姟 sdss 绯荤粺鏁版嵁鏉冮檺鏈嶅姟 鍐呭鍙傝�� SysDataScopeService - * 濡傞渶鎵╁睍鏇村鑷畾涔夋湇鍔� 鍙互鍙傝�� sdss 鑷缂栧啓 + * 鏀寔浣跨敤 SpEL 妯℃澘琛ㄨ揪寮忓畾涔� SQL 鏌ヨ鏉′欢 + * 鍐呯疆鏁版嵁锛� + * - {@code user}: 褰撳墠鐧诲綍鐢ㄦ埛淇℃伅锛屽弬鑰� {@link LoginUser} + * 鍐呯疆鏈嶅姟锛� + * - {@code sdss}: 绯荤粺鏁版嵁鏉冮檺鏈嶅姟锛屽弬鑰� ISysDataScopeService + * 濡傞渶鎵╁睍鏁版嵁锛屽彲浠ラ�氳繃 {@link DataPermissionHelper} 杩涜鎿嶄綔 + * 濡傞渶鎵╁睍鏈嶅姟锛屽彲浠ラ�氳繃 ISysDataScopeService 鑷缂栧啓 + * </p> * * @author Lion Li * @version 3.5.0 @@ -30,17 +33,17 @@ /** * 鑷畾鏁版嵁鏉冮檺 */ - CUSTOM("2", " #{#deptName} IN ( #{@sdss.getRoleCustom( #user.roleId )} ) ", ""), + CUSTOM("2", " #{#deptName} IN ( #{@sdss.getRoleCustom( #user.roleId )} ) ", " 1 = 0 "), /** * 閮ㄩ棬鏁版嵁鏉冮檺 */ - DEPT("3", " #{#deptName} = #{#user.deptId} ", ""), + DEPT("3", " #{#deptName} = #{#user.deptId} ", " 1 = 0 "), /** * 閮ㄩ棬鍙婁互涓嬫暟鎹潈闄� */ - DEPT_AND_CHILD("4", " #{#deptName} IN ( #{@sdss.getDeptAndChild( #user.deptId )} )", ""), + DEPT_AND_CHILD("4", " #{#deptName} IN ( #{@sdss.getDeptAndChild( #user.deptId )} )", " 1 = 0 "), /** * 浠呮湰浜烘暟鎹潈闄� @@ -50,15 +53,21 @@ private final String code; /** - * 璇硶 閲囩敤 spel 妯℃澘琛ㄨ揪寮� + * SpEL 妯℃澘琛ㄨ揪寮忥紝鐢ㄤ簬鏋勫缓 SQL 鏌ヨ鏉′欢 */ private final String sqlTemplate; /** - * 涓嶆弧瓒� sqlTemplate 鍒欏~鍏� + * 濡傛灉涓嶆弧瓒� {@code sqlTemplate} 鐨勬潯浠讹紝鍒欎娇鐢ㄦ榛樿 SQL 琛ㄨ揪寮� */ private final String elseSql; + /** + * 鏍规嵁鏋氫妇浠g爜鏌ユ壘瀵瑰簲鐨勬灇涓惧�� + * + * @param code 鏋氫妇浠g爜 + * @return 瀵瑰簲鐨勬灇涓惧�硷紝濡傛灉鏈壘鍒板垯杩斿洖 null + */ public static DataScopeType findCode(String code) { if (StringUtils.isBlank(code)) { return null; -- Gitblit v1.9.3