初始化

This commit is contained in:
2025-04-16 16:18:59 +08:00
parent 98fa23c686
commit ec056f7c11
1097 changed files with 45449 additions and 1439 deletions

View File

@@ -2,12 +2,12 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>tashow-platform-framework</artifactId>
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-platform-framework</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>tashow-data-permission</artifactId>
<packaging>jar</packaging>
@@ -22,28 +22,28 @@
<!-- Web 相关 -->
<dependency>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-spring-boot-starter-security</artifactId>
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-framework-security</artifactId>
<optional>true</optional> <!-- 可选,如果使用 DeptDataPermissionRule 必须提供 -->
</dependency>
<!-- DB 相关 -->
<dependency>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-spring-boot-starter-mybatis</artifactId>
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-data-mybatis</artifactId>
</dependency>
<!-- RPC 远程调用相关 -->
<dependency>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-spring-boot-starter-rpc</artifactId>
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-framework-rpc</artifactId>
<optional>true</optional>
</dependency>
<!-- 业务组件 -->
<dependency>
<groupId>cn.iocoder.cloud</groupId>
<artifactId>yudao-module-system-api</artifactId> <!-- 需要使用它,进行数据权限的获取 -->
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-module-system-api</artifactId> <!-- 需要使用它,进行数据权限的获取 -->
<version>${revision}</version>
</dependency>

View File

@@ -1,10 +1,15 @@
package com.tashow.cloud.datapermission.config;
package com.tashow.cloud.permission.config;
import com.tashow.cloud.datapermission.core.aop.DataPermissionAnnotationAdvisor;
import com.tashow.cloud.datapermission.core.db.DataPermissionRuleHandler;
import com.tashow.cloud.datapermission.core.rule.DataPermissionRule;
import com.tashow.cloud.datapermission.core.rule.DataPermissionRuleFactory;
import com.tashow.cloud.datapermission.core.rule.DataPermissionRuleFactoryImpl;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.DataPermissionInterceptor;
import com.tashow.cloud.permission.core.rule.DataPermissionRuleFactory;
import com.tashow.cloud.permission.core.rule.DataPermissionRuleFactoryImpl;
import com.tashow.cloud.permission.core.aop.DataPermissionAnnotationAdvisor;
import com.tashow.cloud.permission.core.db.DataPermissionRuleHandler;
import com.tashow.cloud.permission.core.rule.DataPermissionRule;
import com.tashow.cloud.mybatis.mybatis.core.util.MyBatisUtils;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean;
import java.util.List;

View File

@@ -1,13 +1,14 @@
package com.tashow.cloud.datapermission.config;
package com.tashow.cloud.permission.config;
import com.tashow.cloud.datapermission.core.rpc.DataPermissionRequestInterceptor;
import com.tashow.cloud.datapermission.core.rpc.DataPermissionRpcWebFilter;
import com.tashow.cloud.permission.core.rpc.DataPermissionRequestInterceptor;
import com.tashow.cloud.permission.core.rpc.DataPermissionRpcWebFilter;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import static cn.iocoder.yudao.framework.common.enums.WebFilterOrderEnum.TENANT_CONTEXT_FILTER;
import static com.tashow.cloud.common.enums.WebFilterOrderEnum.TENANT_CONTEXT_FILTER;
/**
* 数据权限针对 RPC 的自动配置类

View File

@@ -1,10 +1,10 @@
package com.tashow.cloud.datapermission.config;
package com.tashow.cloud.permission.config;
import cn.hutool.extra.spring.SpringUtil;
import com.tashow.cloud.datapermission.core.rule.dept.DeptDataPermissionRule;
import com.tashow.cloud.datapermission.core.rule.dept.DeptDataPermissionRuleCustomizer;
import cn.iocoder.yudao.framework.security.core.LoginUser;
import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
import com.tashow.cloud.permission.core.rule.dept.DeptDataPermissionRule;
import com.tashow.cloud.permission.core.rule.dept.DeptDataPermissionRuleCustomizer;
import com.tashow.cloud.security.security.core.LoginUser;
import com.tashow.cloud.systemapi.api.permission.PermissionApi;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;

View File

@@ -1,6 +1,6 @@
package com.tashow.cloud.datapermission.core.annotation;
package com.tashow.cloud.permission.core.annotation;
import com.tashow.cloud.datapermission.core.rule.DataPermissionRule;
import com.tashow.cloud.permission.core.rule.DataPermissionRule;
import java.lang.annotation.*;

View File

@@ -1,6 +1,6 @@
package com.tashow.cloud.datapermission.core.aop;
package com.tashow.cloud.permission.core.aop;
import com.tashow.cloud.datapermission.core.annotation.DataPermission;
import com.tashow.cloud.permission.core.annotation.DataPermission;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import org.aopalliance.aop.Advice;

View File

@@ -1,6 +1,6 @@
package com.tashow.cloud.datapermission.core.aop;
package com.tashow.cloud.permission.core.aop;
import com.tashow.cloud.datapermission.core.annotation.DataPermission;
import com.tashow.cloud.permission.core.annotation.DataPermission;
import lombok.Getter;
import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;

View File

@@ -1,6 +1,6 @@
package com.tashow.cloud.datapermission.core.aop;
package com.tashow.cloud.permission.core.aop;
import com.tashow.cloud.datapermission.core.annotation.DataPermission;
import com.tashow.cloud.permission.core.annotation.DataPermission;
import com.alibaba.ttl.TransmittableThreadLocal;
import java.util.LinkedList;

View File

@@ -1,9 +1,9 @@
package com.tashow.cloud.datapermission.core.db;
package com.tashow.cloud.permission.core.db;
import cn.hutool.core.collection.CollUtil;
import com.tashow.cloud.datapermission.core.rule.DataPermissionRule;
import com.tashow.cloud.datapermission.core.rule.DataPermissionRuleFactory;
import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils;
import com.tashow.cloud.mybatis.mybatis.core.util.MyBatisUtils;
import com.tashow.cloud.permission.core.rule.DataPermissionRule;
import com.tashow.cloud.permission.core.rule.DataPermissionRuleFactory;
import com.baomidou.mybatisplus.extension.plugins.handler.MultiDataPermissionHandler;
import lombok.RequiredArgsConstructor;
import net.sf.jsqlparser.expression.Expression;

View File

@@ -1,7 +1,7 @@
package com.tashow.cloud.datapermission.core.rpc;
package com.tashow.cloud.permission.core.rpc;
import com.tashow.cloud.datapermission.core.annotation.DataPermission;
import com.tashow.cloud.datapermission.core.aop.DataPermissionContextHolder;
import com.tashow.cloud.permission.core.annotation.DataPermission;
import com.tashow.cloud.permission.core.aop.DataPermissionContextHolder;
import feign.RequestInterceptor;
import feign.RequestTemplate;

View File

@@ -1,7 +1,7 @@
package com.tashow.cloud.datapermission.core.rpc;
package com.tashow.cloud.permission.core.rpc;
import com.tashow.cloud.datapermission.core.aop.DataPermissionContextHolder;
import com.tashow.cloud.datapermission.core.util.DataPermissionUtils;
import com.tashow.cloud.permission.core.util.DataPermissionUtils;
import com.tashow.cloud.permission.core.aop.DataPermissionContextHolder;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;

View File

@@ -1,4 +1,4 @@
package com.tashow.cloud.datapermission.core.rule;
package com.tashow.cloud.permission.core.rule;
import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
import net.sf.jsqlparser.expression.Alias;

View File

@@ -1,9 +1,9 @@
package com.tashow.cloud.datapermission.core.rule;
package com.tashow.cloud.permission.core.rule;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ArrayUtil;
import com.tashow.cloud.datapermission.core.annotation.DataPermission;
import com.tashow.cloud.datapermission.core.aop.DataPermissionContextHolder;
import com.tashow.cloud.permission.core.annotation.DataPermission;
import com.tashow.cloud.permission.core.aop.DataPermissionContextHolder;
import lombok.RequiredArgsConstructor;
import java.util.Collections;

View File

@@ -1,18 +1,18 @@
package com.tashow.cloud.datapermission.core.rule.dept;
package com.tashow.cloud.permission.core.rule.dept;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
import com.tashow.cloud.datapermission.core.rule.DataPermissionRule;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils;
import cn.iocoder.yudao.framework.security.core.LoginUser;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
import com.tashow.cloud.common.enums.UserTypeEnum;
import com.tashow.cloud.common.util.collection.CollectionUtils;
import com.tashow.cloud.common.util.json.JsonUtils;
import com.tashow.cloud.mybatis.mybatis.core.dataobject.BaseDO;
import com.tashow.cloud.mybatis.mybatis.core.util.MyBatisUtils;
import com.tashow.cloud.permission.core.rule.DataPermissionRule;
import com.tashow.cloud.security.security.core.LoginUser;
import com.tashow.cloud.security.security.core.util.SecurityFrameworkUtils;
import com.tashow.cloud.systemapi.api.permission.PermissionApi;
import com.tashow.cloud.systemapi.api.permission.dto.DeptDataPermissionRespDTO;
import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;

View File

@@ -1,4 +1,4 @@
package com.tashow.cloud.datapermission.core.rule.dept;
package com.tashow.cloud.permission.core.rule.dept;
/**
* {@link DeptDataPermissionRule} 的自定义配置接口

View File

@@ -1,7 +1,7 @@
package com.tashow.cloud.datapermission.core.util;
package com.tashow.cloud.permission.core.util;
import com.tashow.cloud.datapermission.core.annotation.DataPermission;
import com.tashow.cloud.datapermission.core.aop.DataPermissionContextHolder;
import com.tashow.cloud.permission.core.annotation.DataPermission;
import com.tashow.cloud.permission.core.aop.DataPermissionContextHolder;
import lombok.SneakyThrows;
import java.util.concurrent.Callable;

View File

@@ -1,4 +1,4 @@
/**
* 基于 JSqlParser 解析 SQL增加数据权限的 WHERE 条件
*/
package com.tashow.cloud.datapermission;
package com.tashow.cloud.permission;

View File

@@ -1,3 +1,3 @@
com.tashow.cloud.datapermission.config.DataPermissionAutoConfiguration
com.tashow.cloud.datapermission.config.DeptDataPermissionAutoConfiguration
com.tashow.cloud.datapermission.config.DataPermissionRpcAutoConfiguration
com.tashow.cloud.permission.config.DataPermissionAutoConfiguration
com.tashow.cloud.permission.config.DeptDataPermissionAutoConfiguration
com.tashow.cloud.permission.config.DataPermissionRpcAutoConfiguration