当前位置:主页 » ThinkPHP的RBAC原理分析

ThinkPHP的RBAC原理分析

最近我们项目上遇到了权限控制不断在代码中添加ifelse,不断重复这样的操作,代码耦合太强,每次修改都要动大手术,到现在,写那断代码的同事自己也搞的晕乎乎的,因为很容易,自己改着这,就忘了改那了,这让我想到,为什么不直接用权限控制呢?而我自己也好久没接触RBAC这块了,今天就和大家一起复习下RBAC的原理。

需要准备的:

ThinkPHP 代码编辑器

详细操作方法和步骤:

多用户对节点的操作的权限控制,这句话,经过反复扩展功能,就可以得出5张表。 用户->用户表 既然是多用户,就有很多相同权限的用户,比如浏览网站的用户,太多了,这样就有了第二张表。 多用户->用户组表(比如普通用户、编辑、管理员)
用户和用户组的关系是多对多(比如一个人既可以是管理员,又可以是编辑),所以需要一个用户_用户组关系表
节点,有很多节点了,比如文章的管理(CURD),相册的管理,所以需要一张节点表。 节点与用户组中间需要一个用户组和节点的关系表,也就是最重要的权限控制表。这样,通过用户组_节点_权限控制表就能控制具体用户的对每个节点的使用权限了。

需要注意的:

请看图片示例:

ThinkPHP的RBAC原理分析

ThinkPHP的RBAC原理分析