素材牛VIP会员
RBAC 角色-权限-用户 对应关系 到底哪一样说法才是正确的?
 qi***hu  分类:ThinkPHP  人气:667  回帖:3  发布于6年前 收藏

我去看thinkphp的教程,看到他们说的RBAC用户和权限又可以直接对应的,感觉实在是难以理解。问了一些人,发现他们理解得各自不相同。

第一种理解:
用户和角色对应,角色和权限对应,用户和角色一对一,角色和权限一对多。

第二种理解:
用户角色对应,角色权限对应,用户与角色一对多,角色和权限一对多

第三种(thinkphp)
用户角色对应,角色权限对应,用户与角色一对多,用户和权限又有对应关系(节点)。

Discuz的是用户和角色(用户分组)一对一,角色和权限就一个表,用户不跟权限有对应关系,总共就2个表,user和group,这样非常好理解,但是thinkphp解释的RBAC却并不是这样。

 标签:rbacthinkphp

讨论这个帖子(3)垃圾回帖将一律封号处理……

Lv3 码奴
二***了 交互设计师 6年前#1

传送门 http://www.thinkphp.cn/document/313.html 应该会对你有所帮助...这类问题可到 TP社区搜索答案.

Lv6 码匠
小***技 Web前端工程师 6年前#2

从我的个人使用理解来说,我觉得可以做到你说的
第二种理解:
用户角色对应,角色权限对应,用户与角色一对多,角色和权限一对多
其实我觉得这不需要理解那么深吧,其实一般情况只要自己控制好,能实现第一种理解就足够实际使用需要了!
我同意楼上的意见,RBAC应该只是一种模型,怎么用,要结合业务逻辑,自己在设计时进行控制和实现。

Lv3 码奴
钱***4 技术总监 6年前#3

RBAC只是提供了一种模型,需要根据你具体的业务来设计。所以上面你提到的三种,除了用户和权限直接对应外,其实都可以的。角色和角色之间如果还有继承关系呢?互斥关系呢?是不是更复杂了?最终一句话,RBAC可以提供给你一种思考的模型,但不是照搬,关键还是结合业务。

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取