RBAC简介
1.RBAC中文名称:基于角色的访问控制
1.1作用:实现访问控制
1.2核心:角色
2.英文名称:Role-Based Access Control
3.解释:
是一种数据库设计思想,根据RBAC思想进行数据库设计,根据数据库设计更好的完成权限控制。
4.权限控制常用分类:
4.1菜单功能
4.2url控制(控制访问不同的控制器)
4.3资源可见性控制(页面某些元素对不同用户可见性是不同的)
5.发展历史:
5.1最开始
5.1.1需求:新增一个用户,具有所有菜单可见的功能
5.1.1.1新建一个用户
5.1.1.2在用户-菜单关联表中把所有菜单和用户关联
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIwczX0xiRGZkRGZ0Xy9GbvNGL2EzXlpXazxSP9EkTwUEVPNzZq1EM4wmYwhGWhxGZzwEMW1mY1RzRapnTtxkb5ckYplTeMZTTINGMShUYfRHelRHLwEzX39GZhh2css2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xyayFWbyVGdhd3LcV2Zh1Wa9M3clN2byBXLzN3btg3PnBnauUTMxMDO1AjMwIDOwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
5.2 使用rbac思想进行设计
5.2.1 如果需求确定每个用户只能有一个角色,在用户表中添加外键列,直接应用角色表
5.2.2 如果每个用户可能有多个角色,按照下面步骤进行设计
5.2.3 需求:新增一个用户,具有所有菜单可见的功能
5.2.3.1 项目上线时已经创建了n个角色,且不同角色可能看不同的菜单
5.2.3.2 新建用户
5.2.3.3 在用户-角色表中添加用户和角色的关系。