关于Rbac和Auth的区别,网上说法很多,可是我看来看去感觉两者没有什么区别,关于数据库的设计,整体的思想都是一样的。参考了一些资料,现在整理一下
我们在项目中通常需要实现: 对用户实现 节点或者一些按钮操作的权限控制
一、基本思想
传统的模型:用户---》权限
按照上面的设计,难道要我们对每个用户都单独赋予权限吧?那不现实
更何况在一个系统中,很多用户拥有相同权限,那我们是不是可以考虑给用户分类,同类用户赋予相同角色,再对角色进行赋权呢?
这就是rbac的基本思想
二、基本模型RBAC0
RBAC0是基础,很多产品只需基于RBAC0就可以搭建权限模型了。
在这个模型中,我们把权限赋予角色,再把角色赋予用户。用户和角色,角色和权限都是多对多的关系。用户拥有的权限等于他所有的角色持有权限之和
举例:
在做一个教育类产品管理中:用户有学生、