RBAC 角色-权限-用户 对应关系 到底哪一样说法才是正确的?
我去看thinkphp的教程,看到他们说的RBAC用户和权限又可以直接对应的,感觉实在是难以理解。问了一些人,发现他们理解得各自不相同。
第一种理解:
用户和角色对应,角色和权限对应,用户和角色一对一,角色和权限一对多。
第二种理解:
用户角色对应,角色权限对应,用户与角色一对多,角色和权限一对多
第三种(thinkphp)
用户角色对应,角色权限对应,用户与角色一对多,用户和权限又有对应关系(节点)。
Discuz的是用户和角色(用户分组)一对一,角色和权限就一个表,用户不跟权限有对应关系,总共就2个表,user和group,这样非常好理解,但是thinkphp解释的RBAC却并不是这样。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
传送门 http://www.thinkphp.cn/document/313.html 应该会对你有所帮助...这类问题可到 TP社区搜索答案.
RBAC只是提供了一种模型,需要根据你具体的业务来设计。所以上面你提到的三种,除了用户和权限直接对应外,其实都可以的。角色和角色之间如果还有继承关系呢?互斥关系呢?是不是更复杂了?最终一句话,RBAC可以提供给你一种思考的模型,但不是照搬,关键还是结合业务。
从我的个人使用理解来说,我觉得可以做到你说的
第二种理解:
用户角色对应,角色权限对应,用户与角色一对多,角色和权限一对多
其实我觉得这不需要理解那么深吧,其实一般情况只要自己控制好,能实现第一种理解就足够实际使用需要了!
我同意楼上的意见,RBAC应该只是一种模型,怎么用,要结合业务逻辑,自己在设计时进行控制和实现。