|
|
@@ -2,7 +2,6 @@ package com.jzg.commons.config;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.handler.MultiDataPermissionHandler;
|
|
|
-import com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor;
|
|
|
import com.jzg.commons.constants.SystemConstants;
|
|
|
import com.jzg.commons.core.base.BaseController;
|
|
|
import com.jzg.commons.entity.properties.DataScopeProperties;
|
|
|
@@ -13,30 +12,17 @@ import net.sf.jsqlparser.expression.ExpressionVisitor;
|
|
|
import net.sf.jsqlparser.parser.CCJSqlParserUtil;
|
|
|
import net.sf.jsqlparser.parser.SimpleNode;
|
|
|
import net.sf.jsqlparser.schema.Table;
|
|
|
-import net.sf.jsqlparser.statement.Statement;
|
|
|
-import net.sf.jsqlparser.util.TablesNamesFinder;
|
|
|
import org.apache.ibatis.executor.Executor;
|
|
|
-import org.apache.ibatis.executor.statement.StatementHandler;
|
|
|
import org.apache.ibatis.mapping.MappedStatement;
|
|
|
import org.apache.ibatis.plugin.*;
|
|
|
-import org.apache.ibatis.mapping.BoundSql;
|
|
|
-import org.apache.ibatis.reflection.MetaObject;
|
|
|
import org.apache.ibatis.session.ResultHandler;
|
|
|
import org.apache.ibatis.session.RowBounds;
|
|
|
-import org.apache.ibatis.session.SqlSession;
|
|
|
import org.apache.ibatis.session.SqlSessionFactory;
|
|
|
import org.redisson.api.RedissonClient;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.core.annotation.Order;
|
|
|
-import org.springframework.stereotype.Component;
|
|
|
|
|
|
-import java.lang.reflect.Field;
|
|
|
-import java.sql.Connection;
|
|
|
-import java.sql.SQLException;
|
|
|
+import java.io.Serial;
|
|
|
import java.util.*;
|
|
|
-import java.util.regex.Matcher;
|
|
|
-import java.util.regex.Pattern;
|
|
|
|
|
|
/**
|
|
|
* 数据权限拦截器
|
|
|
@@ -46,7 +32,7 @@ import java.util.regex.Pattern;
|
|
|
@Signature(type = Executor.class, method = "query", args = {MappedStatement.class, Object.class, RowBounds.class, ResultHandler.class}),
|
|
|
// @Signature(type = Executor.class, method = "update", args = {MappedStatement.class, Object.class})
|
|
|
})
|
|
|
- public class DataPermissionInterceptor implements MultiDataPermissionHandler {
|
|
|
+public class DataPermissionInterceptor implements MultiDataPermissionHandler {
|
|
|
|
|
|
private List<String> ignoredTables;
|
|
|
|
|
|
@@ -111,7 +97,9 @@ import java.util.regex.Pattern;
|
|
|
JSONObject dataScope = JSONObject.parseObject(userDataScope);
|
|
|
//如果用户名为admin 不做数据权限
|
|
|
|
|
|
- if (dataScope == null || dataScope.isEmpty() || (dataScope.isEmpty() && baseController.getUserName().equals("admin")) || userSystemCode.equals(SystemConstants.SYSTEM_PLATFORM.getCode())) {
|
|
|
+ if (dataScope == null || dataScope.isEmpty()
|
|
|
+ || (dataScope.isEmpty() && baseController.getUserName().equals("admin"))
|
|
|
+ || userSystemCode.equals(SystemConstants.SYSTEM_PLATFORM.getCode())) {
|
|
|
return null;
|
|
|
}
|
|
|
StringBuilder additionalSql = new StringBuilder();
|
|
|
@@ -143,6 +131,9 @@ import java.util.regex.Pattern;
|
|
|
}
|
|
|
|
|
|
private static class SqlExpression implements Expression {
|
|
|
+ @Serial
|
|
|
+ private static final long serialVersionUID = -1544668106700399568L;
|
|
|
+
|
|
|
private final String sql;
|
|
|
|
|
|
public SqlExpression(String sql) {
|