1. 升级 1.3.0-snapshot 版本

2.【修复】biz-data-permission 组件的缓存机制,导致部分 SQL 未进行数据过滤
This commit is contained in:
YunaiV 2021-12-16 07:19:52 +08:00
parent abf61bfdea
commit a92acff99b
5 changed files with 28 additions and 22 deletions

View File

@ -20,7 +20,7 @@
<url>https://github.com/YunaiV/ruoyi-vue-pro</url> <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
<properties> <properties>
<revision>1.2.0-snapshot</revision> <revision>1.3.0-snapshot</revision>
<!-- Maven 相关 --> <!-- Maven 相关 -->
<java.version>1.8</java.version> <java.version>1.8</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source> <maven.compiler.source>${java.version}</maven.compiler.source>

View File

@ -267,11 +267,4 @@ public class SysDeptServiceImpl implements SysDeptService {
} }
} }
// @Override
// @DataScope(deptAlias = "d")
// public List<SysDept> selectDeptList(SysDept dept)
// {
// return deptMapper.selectDeptList(dept);
// }
} }

View File

@ -14,7 +14,7 @@
<url>https://github.com/YunaiV/ruoyi-vue-pro</url> <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
<properties> <properties>
<revision>1.2.0-snapshot</revision> <revision>1.3.0-snapshot</revision>
<!-- 统一依赖管理 --> <!-- 统一依赖管理 -->
<spring.boot.version>2.4.5</spring.boot.version> <spring.boot.version>2.4.5</spring.boot.version>
<!-- Web 相关 --> <!-- Web 相关 -->

View File

@ -369,6 +369,11 @@ public class DataPermissionDatabaseInterceptor extends JsqlParserSupport impleme
if (!rule.getTableNames().contains(table.getName())) { if (!rule.getTableNames().contains(table.getName())) {
continue; continue;
} }
// 如果有匹配的规则说明可重写
// 为什么不是有 allExpression 非空才重写呢在生成 column = value 过滤条件时会因为 value 不存在导致未重写
// 这样导致第一次无 value被标记成无需重写但是第二次有 value此时会需要重写
ContextHolder.setRewrite(true);
// 单条规则的条件 // 单条规则的条件
String tableName = MyBatisUtils.getTableName(table); String tableName = MyBatisUtils.getTableName(table);
Expression oneExpress = rule.getExpression(tableName, table.getAlias()); Expression oneExpress = rule.getExpression(tableName, table.getAlias());
@ -377,10 +382,6 @@ public class DataPermissionDatabaseInterceptor extends JsqlParserSupport impleme
: new AndExpression(allExpression, oneExpress); : new AndExpression(allExpression, oneExpress);
} }
// 如果条件非空说明已经重写了
if (allExpression != null) {
ContextHolder.setRewrite(true);
}
return allExpression; return allExpression;
} }
@ -393,7 +394,7 @@ public class DataPermissionDatabaseInterceptor extends JsqlParserSupport impleme
if (ContextHolder.getRewrite()) { if (ContextHolder.getRewrite()) {
return; return;
} }
// 重写进行添加 // 重写进行添加
mappedStatementCache.addNoRewritable(ms, ContextHolder.getRules()); mappedStatementCache.addNoRewritable(ms, ContextHolder.getRules());
} }

View File

@ -2,8 +2,9 @@
* 邮件 * 邮件
* 钉钉、飞书等通知 * 钉钉、飞书等通知
* Vue3 支持
## [v1.3.0] 待定 ## [v1.4.0] 计划
* 工作流 * 工作流
* 修改表单为外置表单 * 修改表单为外置表单
@ -17,8 +18,25 @@
* 请假查询中,可以查询本人的请假申请, 和进度 * 请假查询中,可以查询本人的请假申请, 和进度
* 流程跟踪图 待实现 * 流程跟踪图 待实现
## [v1.3.0] 进行中
## [v1.2.0] 进行中 ### ⚠️ Warning
### ⭐ New Features
### 🐞 Bug Fixes
* 【修复】biz-data-permission 组件的缓存机制,导致部分 SQL 未进行数据过滤
### 🔨 Dependency Upgrades
### 📝 TODO
* 支付
* 用户前台的社交登陆
* 用户前台的修改手机、修改密码、忘记密码
## [v1.2.0]
### ⚠️ Warning ### ⚠️ Warning
@ -44,12 +62,6 @@
* 【引入】mockito-inline 3.6.28Mockito 提供对 final、static 的支持 * 【引入】mockito-inline 3.6.28Mockito 提供对 final、static 的支持
### 📝 TODO
* 支付
* 用户前台的社交登陆
* 用户前台的修改手机、修改密码、忘记密码
## [v1.1.0] 2021.10.25 ## [v1.1.0] 2021.10.25
* 新增管理后台的企业微信、钉钉等社交登录 * 新增管理后台的企业微信、钉钉等社交登录