在项目中采用mybatis-plus,数据权限控制的实现。mybatis-plus自带数据权限支持,但系统数据权限复杂,原项目版本低,最终通过自定义方式实现。数据范围过滤主要在数据表的某字段限制特定范围内,通过SQL中添加column in (值列表)实现。首先建立一个类存储用户数据范围,使用ThreadLocal暂存并获取,避免代码侵入...
三、数据权限设计要点提前规划数据权限需在项目设计阶段规划,贯穿开发周期,避免后期重构。动态数据过滤通过SQL语句注入实现动态数据过滤。例如,限制区域经理仅访问属地数据,可通过SQL条件“WHERE region = '用户所属区域'”实现。权限条件分离将SQL与数据权限策略分离,调用接口时拼接权限条件。例如,在查询...