一、该问题的重现步骤是什么?
我按照文档设置了数据权限如下截图
2.
3.
二、你期待的结果是什么?实际看到的又是什么?
期待就是按照文档的可以成功筛选,实际无效,控制台打印sql信息如下:
============== Sql Start ==============
Execute ID :org.springblade.modules.desk.mapper.NoticeMapper.selectPage
Execute SQL :SELECT id, title, category, release_time, content, tenant_id, create_user, create_dept, create_time, update_user, update_time, status, is_deleted FROM blade_notice WHERE is_deleted = 0 LIMIT ?,?
Execute Time:2 ms
============== Sql End ==============
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
最新版本 mac本地
四、请提供详细的错误堆栈信息,这很重要。
无报错信息
五、若有更多详细信息,请在下面提供。
超管角色不受数据权限影响,你用其他的账号才会生效,具体逻辑看:org.springblade.core.datascope.handler.BladeDataScopeHandler
我也遇到了,解决了。我的版本是2.7+ 最后发现是乐观锁插件导致的。
// 新版会导致数据权限失效
// 注册乐观锁和分页插件(新版:3.4.0)
// @Bean
// public MybatisPlusInterceptor mybatisPlusInterceptor(){
// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
// interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor()); // 乐观锁插件
// // DbType:数据库类型(根据类型获取应使用的分页方言)
// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 分页插件
// return interceptor;
// }
/**
* 旧版 乐观锁插件,不会导致数据权限失效
* @return
*/
@Bean
public OptimisticLockerInterceptor optimisticLockerInterceptor(){
return new OptimisticLockerInterceptor();
}
把新版的 MybatisPlusInterceptor 给注释掉,使用 OptimisticLockerInterceptor 就没问题。
扫一扫访问 Blade技术社区 移动端