1.RBAC简介
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。
2.先奉上RBAC的一张简易流程图
可以看出角色表起到了一个承接的作用
把权限下发给每一个角色,而用户可以选择角色来间接的获取权限
3.RBAC的优点缺点和我理解的RBAC
3.1RBAC的优缺点
先说说最简单的权限管理
简单的权限管理
简单的权限管理适用于体量小,使用人数少的小项目,仅仅只需要加一个字段来代表该用户的角色(例: 0 普通 1管理员),这样一个简单的权限管理就ok了
RBAC
普通的权限管理虽然简单,但是假如现在你的项目需要增加一个新的角色,代码涉及到角色这块的东西就需要改动,但是使用了RBAC这种管理之后,仅仅只需要在角色表中增加一个角色即可,简单来说就是在项目体积变大之后使用RBAC之后在角色和权限的管理更加细致也方便了
3.2我理解的RBAC
用户表,角色表,权限表
重要在于权限表的分配,权限表分的不细致的话 存的就是页面的权限,分的细致的话 都可以细致到每个url中
比如:
对功能模块的操作,对上传文件的删改,菜单的访问,甚至页面上某个按钮、某个图片的可见性控制,都可属于权限的范畴。有些权限设计,会把功能操作作为一类