8000 fix: 在没有使用注解时,跳过 DataPermissionInterceptor · cadecode/uni-boot-cloud@9fbd235 · GitHub
[go: up one dir, main page]

Skip to content

Commit 9fbd235

Browse files
committed
fix: 在没有使用注解时,跳过 DataPermissionInterceptor
1 parent db99697 commit 9fbd235

File tree

1 file changed

+21
-1
lines changed
  • common/plugin/mybatis/src/main/java/com/github/cadecode/uniboot/common/plugin/mybatis/config

1 file changed

+21
-1
lines changed

common/plugin/mybatis/src/main/java/com/github/cadecode/uniboot/common/plugin/mybatis/config/MybatisConfig.java

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,20 @@
22

33
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
44
import com.baomidou.mybatisplus.extension.plugins.inner.DataPermissionInterceptor;
5+
import com.github.cadecode.uniboot.common.plugin.mybatis.aspect.DataScopeAspect;
6+
import com.github.cadecode.uniboot.common.plugin.mybatis.aspect.DataScopeAspect.DataScopeParam;
57
import com.github.cadecode.uniboot.common.plugin.mybatis.handler.DataScopePermissionHandler;
8+
import org.apache.ibatis.executor.Executor;
9+
import org.apache.ibatis.mapping.BoundSql;
10+
import org.apache.ibatis.mapping.MappedStatement;
11+
import org.apache.ibatis.session.ResultHandler;
12+
import org.apache.ibatis.session.RowBounds;
613
import org.springframework.context.annotation.Bean;
714
import org.springframework.context.annotation.Configuration;
815

16+
import java.sql.SQLException;
17+
import java.util.Objects;
18+
919
/**
1020
* mybatis 配置类
1121
*
@@ -22,7 +32,17 @@ public class MybatisConfig {
2232
public MybatisPlusInterceptor mybatisPlusInterceptor() {
2333
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
2434
// 数据权限插件
25-
DataPermissionInterceptor dataPermissionInterceptor = new DataPermissionInterceptor(new DataScopePermissionHandler());
35+
DataPermissionInterceptor dataPermissionInterceptor = new DataPermissionInterceptor(new DataScopePermissionHandler()) {
36+
@Override
37+
public void beforeQuery(Executor executor, MappedStatement ms, Object parameter, RowBounds rowBounds, ResultHandler resultHandler, BoundSql boundSql) throws SQLException {
38+
// 没有使用注解时,跳过
39+
DataScopeParam dataScopeParam = DataScopeAspect.currDataScope();
40+
if (Objects.isNull(dataScopeParam) || !dataScopeParam.isEnableFilter()) {
41+
return;
42+
}
43+
super.beforeQuery(executor, ms, parameter, rowBounds, resultHandler, boundSql);
44+
}
45+
};
2646
interceptor.addInnerInterceptor(dataPermissionInterceptor);
2747

2848
// 添加分页插件,动态获取数据库类型

0 commit comments

Comments
 (0)
0