问题
根据用户的权限,前端页面应展示不同的内容,如菜单资源、按钮资源、API访问等
实现
- 根据用户校验是否有当前API权限
- 将页面资源存储到数据库中,根据用户查询到对应的资源显示到前端页面。
RBAC
人话:数据库表权限控制设置思想
定义:基于角色的访问权限控制(Role-Based Access Control)。权限与角色相关联,用户通过成为适当的角色而得到这些角色的控制权限,极大的简化了项目权限管理。
概念理解
用户:现实中访问系统的用户
用户类型:用户在现实中的职位
角色:系统中的各种角色
权限:系统中一组操作的集合
操作:系统中的所有操作
特点
1、用户在系统中往往有多个角色
2、系统中的角色可以有多个权限
3、一种权限往往会有多个操作
权限控制
基本建表规则
因为用户在系统中往往有多个角色,而项目中角色太多的话往往会有用户组(就是将多个角色抽象成有个用户组,然后用户直接关联用户组)
操作表往往有
API操作:项目中各种URL请求 【对API的访问】
menu操作:项目中想要获取展示到的前端页面的各种标签块,比如:队列管理、用户管理等 【对菜单标签的获取】
数据操作:对数据的具体操作等(含有URL列) 【对数据的修改请求】 比如:访问URL去增加数据是允许的,而使用URL删除数据是不允许的。
现在就可以根据用户查询到他可以访问的API,获取他的前端界面展示的菜单标签,甚至控制他对数据的具体操作!