RBAC是一个基于角色的访问控制,作用是实现访问控制,是一种数据库设计思想,根据 RBAC 思想进行数据库设计,根据数据库设计更 好的完成权限控制.。
权限控制经常分类:1.菜单功能 2.url控制(控制访问不同的控制器) 3.资源可见性(页面某些元素对不同的用户可见性不同)
示例场景:
需求:新增一个用户,具有所有菜单可见的功能.
1新建一个用户表和菜单表
2.在用户-菜单关联表中把菜单和用户关联
每当有一个新用户注册,都需要在用户-菜单关联表中添加用户能访问到的菜单,很麻烦。
所以用RBAC的思想解决:如果需求确定每个用户只能有一个角色,在用户表中添加外键列,将角色表与菜单表关联
这样只需要在角色和菜单关联表中添加一次信息即可,直接将用户与角色关联。
当项目规模逐渐扩大,就会有角色组表. 用户组和角色组进行管理.