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>
<properties>
<revision>1.2.0-snapshot</revision>
<revision>1.3.0-snapshot</revision>
<!-- Maven 相关 -->
<java.version>1.8</java.version>
<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>
<properties>
<revision>1.2.0-snapshot</revision>
<revision>1.3.0-snapshot</revision>
<!-- 统一依赖管理 -->
<spring.boot.version>2.4.5</spring.boot.version>
<!-- Web 相关 -->

View File

@ -369,6 +369,11 @@ public class DataPermissionDatabaseInterceptor extends JsqlParserSupport impleme
if (!rule.getTableNames().contains(table.getName())) {
continue;
}
// 如果有匹配的规则说明可重写
// 为什么不是有 allExpression 非空才重写呢在生成 column = value 过滤条件时会因为 value 不存在导致未重写
// 这样导致第一次无 value被标记成无需重写但是第二次有 value此时会需要重写
ContextHolder.setRewrite(true);
// 单条规则的条件
String tableName = MyBatisUtils.getTableName(table);
Expression oneExpress = rule.getExpression(tableName, table.getAlias());
@ -377,10 +382,6 @@ public class DataPermissionDatabaseInterceptor extends JsqlParserSupport impleme
: new AndExpression(allExpression, oneExpress);
}
// 如果条件非空说明已经重写了
if (allExpression != null) {
ContextHolder.setRewrite(true);
}
return allExpression;
}
@ -393,7 +394,7 @@ public class DataPermissionDatabaseInterceptor extends JsqlParserSupport impleme
if (ContextHolder.getRewrite()) {
return;
}
// 重写进行添加
// 重写进行添加
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
@ -44,12 +62,6 @@
* 【引入】mockito-inline 3.6.28Mockito 提供对 final、static 的支持
### 📝 TODO
* 支付
* 用户前台的社交登陆
* 用户前台的修改手机、修改密码、忘记密码
## [v1.1.0] 2021.10.25
* 新增管理后台的企业微信、钉钉等社交登录