# scope-privilege **Repository Path**: gester/scope-privilege ## Basic Information - **Project Name**: scope-privilege - **Description**: scope-privilege是一种轻量级、易维护的数据权限的解决方案,它能处理比较复杂的权限操作逻辑。兼容操作权限Shiro等框架。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2019-10-25 - **Last Updated**: 2023-08-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # scope-privilege ## 介绍 OpenScope是一种轻量级、易维护的数据权限的解决方案,它能处理比较复杂的权限操作逻辑。兼容操作权限Shiro等框架。 OpenScope提供了一种基于SQL的智能添加权限范围列的方案,相对原始的数据权限方案,它是轻量级的,它只有一些配置代码,同时它也是提高了代码的可维护性。另外它不需要额外的更改您的程序结构,就能轻松使您的项目支持数据权限操作。 ## 当前版本支持的功能 - 数据权限查询过滤 - 支持注解或代码方式添加范围ID - 兼容其他Mybatis插件 - 支持较细粒度的多范围认证 - 支持数据SQL列过滤 - 支持数据返回结果属性过滤 ## 当前版本处理流程 ### 数据权限查询过滤 - 提取参数中的业务ID(SSID) 记为集合A - 将集合A转换为范围ID(SID) 记为集合B - 将集合B根据各自的范围拼装进SQL处理 ### 数据权限鉴权 - 提取参数中的业务ID(SSID) 记为集合A - 将集合A转换为范围ID(SID) 记为集合B - 校验用户是否拥有集合B的数据权限 ### 数据权限列数据过滤 - 提供对简单SQL列预查询过滤 - 提供对返回结果进行属性进行过滤(Map\List\POJO) ## 涉及技术 ### 编译环境: - JDK:1.8 - SpringBoot:2.4.0(最低支持) ~ 2.7.8(最高支持) - hutool:5.8.12 - druid:1.2.9(最低支持) ~ 1.2.16(最高支持) - mybatis:3.4.5(最低支持) ~ 3.5.11(最高支持) - mybatis-spring-boot:2.1.4(最低支持) ~ 3.0.1(最高支持) 其他环境需要自行测试和替换可选依赖部分。 ### 测试环境: - junit:4.13.2 - h2:2.1.214