第1页共1页tp3・2・3RBAC权限控制一、首先需明确TP3・2・3的权限控制是怎么实现的RBAC(Role-BasedAccessControl,基于角色的访问控制),就是用户通过角色与权限进行关联
简单地说,一个用户拥有多个角色,每一个角色拥有多个权限
这样,就构造成“用户-角色-权限”的授权模型
在这种模型中,用户与角色之间,角色与权限之间,一般是多对多的关系
二、基本步骤1、用户登录,此时获取用户的id,以及所属的权限组2、查询用户此时权限组对应的控制器以及方法
并且把查询结果拿出来
3、用户登录之后,我们根据用户对应的权限组中的方法,只显示用户拥有权限的列表部分
无权限的模块不显示
4、在用户每访问一个方法的时候,我们就判断此时,用户对应的权限组有没有该方法,没有的话就提示用户无权限
(需要用公用控制器,类似于Base这种)5、由以上可知
做权限控制,也需要做权限管理,用户管理等模块
三、准备工作1、首先是找到TP给出的权限方法在ThinkPHP/Library/Think/Auth
php,打开即可第1页共2页
JimJadrmintimiivw_|阿3耐_g网p1■MnjLfli^hjnnvpjKrrw_JsmJ_diJih_ajlf*=-aaLvlZ
""i-CBbL-TfM这个地方是需要我们自己配置的
首先是开启权限控制
其次是选择实时验证的方式,用户每点击一个方法,我们都验证一下
然后根据注释再配置对应的表
2、数据库新建四个表1)如图2)admin也就是我们的用户表,即管理员表3)用户组表这里对应的就是后台的人员分类
具体的参考自己的逻辑来进仃分类
status=l代表是可用的状态
rules里面的数字代表这个用户组对应的权限id,也就是控制器方法的id>C'lassAuth{这部孙足卅竖找们cnnstruhttp://bLog