若依框架 --- 使用数据权限功能

「爱情、让人受尽委屈。」 2023-09-27 14:45 241阅读 0赞

一、作用说明

若依设计了数据权限功能,分为:

全部数据权限
自定数据权限
部门数据权限
部门及以下数据权限
仅本人数据权限

若依数据权限的实现
主要在: DataScopeAspect 类里,通过AOP+注解的方式实现。

数据权限过滤注解
主要在@interface DataScope中实现。

二、操作步骤

1. 需要数据权限的表设计字段:
dept_id :big int类型
create_user_id :bigint类型
2. 在需要数据权限的方法上加注解
部门数据权限注解

  1. @DataScope(deptAlias = "d")
  2. public List<...> select(...)
  3. {
  4. return mapper.select(...);
  5. }

部门及用户权限注解

  1. @DataScope(deptAlias = "d", userAlias = "u")
  2. public List<...> select(...)
  3. {
  4. return mapper.select(...);
  5. }

3. 在mybatis的 xml 中加过滤标签

  1. <select id="select" parameterType="..." resultMap="...Result">
  2. <include refid="select...Vo"/>
  3. <!-- 数据范围过滤 -->
  4. ${params.dataScope}
  5. </select>

注意SQL中关联 sys_dept 时别名要用 d,关联sys_user表时别名要用 u。

4. 实体类注意事项

实体类必须从 BaseEntity 继承,组合的SQL会放在BaseEntity对象的params属性中,所以过滤标签可以通过${params.dataScope}来引用组合的SQL语句。

发表评论

表情:
评论列表 (有 0 条评论,241人围观)

还没有评论,来说两句吧...

相关阅读

    相关 框架---分页功能

    继前几天我们学习若依管理系统中的代码生成工具,我们发现若依系统中还要很多值得学习的地方。今天我们来学习若依管理系统中的分页工具。 若依管理系统是前后端分离的(准确的说,若依有

    相关 框架---权限管理设计

    前言 若依权限管理包含两个部分:菜单权限 和 数据权限。菜单权限控制着我们可以执行哪些操作。数据权限控制着我们可以看到哪些数据。 菜单是一个概括性名称,可以细分为目录、