一)RBAC基本思想

**说白了就是将权限分给角色,将角色分给用户。 权限->-角色>用户 

由上图可知最终的数据表的设计就是三种:

1、权限表:对某个任务的增删改查。

2、角色表:这个角色有什么样的权限

3、用户表:将角色分给用户

一)权限表:

1、基础的增删改查权限等。

2、设置需要管理哪个方向。

3、 将行为和模式联系在一起构成权限表。

 二)角色表

将每个用户具有的权限分给角色。

1、传统的进行两个表之间的联系是建立一张第三张表做中间表。

例:产品经理有A权限,然后就在第三张表中将产品经理的ID和A权限设置在一起

2、本文采用的是用JSON的形式将两个表联系在一起。

SQL中支持JSON类型,里面可以是JSON对象,也可以是数组。

本文中数组的值就是对应权限表中的权限

三)用户表

也采用JSON格式来省去交叉表的创建,用JSON的主要原因是一个用户可能对应多个角色

四)JSON字段扩展:

 if语句:

针对上述RBAC模型在JAVA中的使用:

1、Mapper中SQL语句,查询用户具有哪些权限

 2、用set集合接收,因为可能一个用户有多个角色,角色之间有重复的权限,所以采用set集合去接收数据以达到去重的作用。

GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 4 个月前
8c391e04 7 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐