关于数据权限的设计 思路 及通用 解决方案

2020-11-04  本文已影响0人  川流不息attitude

一般来说 权限 分细一点 有 功能权限和数据权限 ,功能权限 基本 就是通用 的 RBAC 我之前也讲过 很简单,数据权限能 就是 精确到数据 层面,下面我来简单说一下。

数据权限 做的好点 可能 会精确到字段,比如 那个 公司 下面那个 部门 的那个 职位 可能看到的 列数据都不一样,但是一般 也必须折磨细化,毕竟过于繁琐,还不如直接开发 一个页面 一个接口。

下面我讲一下 通用的行数据 就是不同职位的人 看到的 行数据 不同,例如 区域销售经理 可以看到 他下面 销售的所有 订单,而 销售 只能看到 自己的订单 看不到别人的。

思路其实 还是 很简单的,其实还是 和角色 产生 关联,角色分配完 功能权限 还可以 分配 数据权限,数据权限 其实就是 对应的sql 语句条件, 根据 登入的用户 获取 想要的 条件。

比如:这里设计的简单 一点:公司——>销售经理->销售 查看订单 列表

通用 实现 方案 就是 在 sevice 成 打一个 注解,通过 aop 动态 放射 赋值 一个 预留的 字段,当然也可以 继承一个 base对象 预留 一个字段,然后aop 获取参数 set 值 进去 动态sql 就 ojbk。是不是超级简单。

看看效果:

超级 管理员 看到的数据

测试 用户 分配 了数据权限的

上一篇下一篇

猜你喜欢

热点阅读