- ALL
- java33
- linux32
- 工具17
- 其他14
- 数据库7
- vue5
- git5
- nas5
- 前端5
- ai3
- framework3
- windows3
- app2
- 脚本2
- docker2
- hexo2
- maven2
- 智能家居2
- 小程序2
- spring2
- 资源1
- api1
- mysql1
- 安全1
- markdown1
- question1
- python1
- 运维1
- 数据结构1
- 数据传输1
- nginx1
spring boot+mybatis plus进行sql拦截实现权限过滤,使用mybatis plus的DataPermissionHandler
📃 关联文档 📄 前置文档 📄 前置文档 自定义一个AllbsDataPermissionHandler,使用mybatis plus自带的是可以的,主要考虑到后面还有其他自定义效果,所以单独写了一个 123456789101112131415161718192021import net.sf.jsqlparser.expression.Expression;import net.sf.jsqlparser.schema.Table;/** * 接口 AllbsDataPermissionHandler * * @author ChenQi * @date 2023/3/28 */public interface AllbsDataPermissionHandler { /** * 获取数据权限 SQL 片段 * * @param table 表相关信息 * @param where 待执行 SQL Where 条件表达式 * @param mappedStatementId...
spring boot+mybatis plus进行sql拦截实现权限过滤,优化升级
📃 关联文档 📄 前置文档 定义数据权限注解 12345678910111213141516171819202122@Target({METHOD, TYPE})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface DataScope { /** * 当进行过滤时主表中代表企业id的字段 */ String unitField() default "ent_id"; /** * 是否进行数据过滤 */ boolean filterData() default true; /** * 忽略的表名,主要指不包含unitField的表 * * @return */ String[] ignoreTables() default...
spring boot+mybatis plus进行sql拦截实现权限过滤
📃 关联文档 ✨ 后续升级 权限数据过滤 定义一个注解用于开启权限过滤功能 这次没参与后台业务部分开发并不清楚哪些业务需要该功能,所以没有默认进行开启,将主动权交于业务开发人员手中 123456789101112131415161718192021222324import java.lang.annotation.*;import static java.lang.annotation.ElementType.*;/** * 企业id数据过滤 * * @author ChenQi */@Target({METHOD, ANNOTATION_TYPE, TYPE})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface DataScope { /** * 当进行过滤时主表中代表企业id的字段 */ String unitField() default "ent_id"; /** * 是否进行数据过滤 */ boolean filterData()...