Commit a92acff99b42b588e19336b0676d5348cd2f8e93
1 parent
abf61bfd
1. 升级 1.3.0-snapshot 版本
2.【修复】biz-data-permission 组件的缓存机制,导致部分 SQL 未进行数据过滤
Showing
5 changed files
with
28 additions
and
22 deletions
pom.xml
| ... | ... | @@ -20,7 +20,7 @@ |
| 20 | 20 | <url>https://github.com/YunaiV/ruoyi-vue-pro</url> |
| 21 | 21 | |
| 22 | 22 | <properties> |
| 23 | - <revision>1.2.0-snapshot</revision> | |
| 23 | + <revision>1.3.0-snapshot</revision> | |
| 24 | 24 | <!-- Maven 相关 --> |
| 25 | 25 | <java.version>1.8</java.version> |
| 26 | 26 | <maven.compiler.source>${java.version}</maven.compiler.source> | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/system/service/dept/impl/SysDeptServiceImpl.java
| ... | ... | @@ -267,11 +267,4 @@ public class SysDeptServiceImpl implements SysDeptService { |
| 267 | 267 | } |
| 268 | 268 | } |
| 269 | 269 | |
| 270 | -// @Override | |
| 271 | -// @DataScope(deptAlias = "d") | |
| 272 | -// public List<SysDept> selectDeptList(SysDept dept) | |
| 273 | -// { | |
| 274 | -// return deptMapper.selectDeptList(dept); | |
| 275 | -// } | |
| 276 | - | |
| 277 | 270 | } | ... | ... |
yudao-dependencies/pom.xml
yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/db/DataPermissionDatabaseInterceptor.java
| ... | ... | @@ -369,6 +369,11 @@ public class DataPermissionDatabaseInterceptor extends JsqlParserSupport impleme |
| 369 | 369 | if (!rule.getTableNames().contains(table.getName())) { |
| 370 | 370 | continue; |
| 371 | 371 | } |
| 372 | + // 如果有匹配的规则,说明可重写。 | |
| 373 | + // 为什么不是有 allExpression 非空才重写呢?在生成 column = value 过滤条件时,会因为 value 不存在,导致未重写。 | |
| 374 | + // 这样导致第一次无 value,被标记成无需重写;但是第二次有 value,此时会需要重写。 | |
| 375 | + ContextHolder.setRewrite(true); | |
| 376 | + | |
| 372 | 377 | // 单条规则的条件 |
| 373 | 378 | String tableName = MyBatisUtils.getTableName(table); |
| 374 | 379 | Expression oneExpress = rule.getExpression(tableName, table.getAlias()); |
| ... | ... | @@ -377,10 +382,6 @@ public class DataPermissionDatabaseInterceptor extends JsqlParserSupport impleme |
| 377 | 382 | : new AndExpression(allExpression, oneExpress); |
| 378 | 383 | } |
| 379 | 384 | |
| 380 | - // 如果条件非空,说明已经重写了 | |
| 381 | - if (allExpression != null) { | |
| 382 | - ContextHolder.setRewrite(true); | |
| 383 | - } | |
| 384 | 385 | return allExpression; |
| 385 | 386 | } |
| 386 | 387 | |
| ... | ... | @@ -393,7 +394,7 @@ public class DataPermissionDatabaseInterceptor extends JsqlParserSupport impleme |
| 393 | 394 | if (ContextHolder.getRewrite()) { |
| 394 | 395 | return; |
| 395 | 396 | } |
| 396 | - // 有重写,进行添加 | |
| 397 | + // 无重写,进行添加 | |
| 397 | 398 | mappedStatementCache.addNoRewritable(ms, ContextHolder.getRules()); |
| 398 | 399 | } |
| 399 | 400 | ... | ... |
更新日志.md
| ... | ... | @@ -2,8 +2,9 @@ |
| 2 | 2 | |
| 3 | 3 | * 邮件 |
| 4 | 4 | * 钉钉、飞书等通知 |
| 5 | +* Vue3 支持 | |
| 5 | 6 | |
| 6 | -## [v1.3.0] 待定 | |
| 7 | +## [v1.4.0] 计划 | |
| 7 | 8 | |
| 8 | 9 | * 工作流 |
| 9 | 10 | * 修改表单为外置表单 |
| ... | ... | @@ -17,8 +18,25 @@ |
| 17 | 18 | * 请假查询中,可以查询本人的请假申请, 和进度 |
| 18 | 19 | * 流程跟踪图 待实现 |
| 19 | 20 | |
| 21 | +## [v1.3.0] 进行中 | |
| 20 | 22 | |
| 21 | -## [v1.2.0] 进行中 | |
| 23 | +### ⚠️ Warning | |
| 24 | + | |
| 25 | +### ⭐ New Features | |
| 26 | + | |
| 27 | +### 🐞 Bug Fixes | |
| 28 | + | |
| 29 | +* 【修复】biz-data-permission 组件的缓存机制,导致部分 SQL 未进行数据过滤 | |
| 30 | + | |
| 31 | +### 🔨 Dependency Upgrades | |
| 32 | + | |
| 33 | +### 📝 TODO | |
| 34 | + | |
| 35 | +* 支付 | |
| 36 | +* 用户前台的社交登陆 | |
| 37 | +* 用户前台的修改手机、修改密码、忘记密码 | |
| 38 | + | |
| 39 | +## [v1.2.0] | |
| 22 | 40 | |
| 23 | 41 | ### ⚠️ Warning |
| 24 | 42 | |
| ... | ... | @@ -44,12 +62,6 @@ |
| 44 | 62 | |
| 45 | 63 | * 【引入】mockito-inline 3.6.28:Mockito 提供对 final、static 的支持 |
| 46 | 64 | |
| 47 | -### 📝 TODO | |
| 48 | - | |
| 49 | -* 支付 | |
| 50 | -* 用户前台的社交登陆 | |
| 51 | -* 用户前台的修改手机、修改密码、忘记密码 | |
| 52 | - | |
| 53 | 65 | ## [v1.1.0] 2021.10.25 |
| 54 | 66 | |
| 55 | 67 | * 新增管理后台的企业微信、钉钉等社交登录 | ... | ... |