谁一开始就是大神?

求讲解一下RBAC的四张表[2.0]

yii\rbac\DbManager::$itemTable: 该表存放授权条目(译者注:即角色和权限)。默认表名为 “auth_item” 。
yii\rbac\DbManager::$itemChildTable: 该表存放授权条目的层次关系。默认表名为 “auth_item_child”。
yii\rbac\DbManager::$assignmentTable: 该表存放授权条目对用户的指派情况。默认表名为 “auth_assignment”。
yii\rbac\DbManager::$ruleTable: 该表存放规则。默认表名为 “auth_rule”。

就是这四张表,我主要是不知道itemTable和ruleTable里的data是干嘛用,求解释

data是你随意的,不需要的时候就让它null就好了。
就和description字段一样,不要求你一定要有,还是根据你的需求来决定。
比如说我做RBAC的时候,所有的role在item表里面的data是另一个表里的ID,指向这个role的其他信息。
所以我会在migration里面加上一个把data从默认的类型修改为int型,并给它加一个外键。
http://www.yiichina.com/video/29
看看上面有没有讲解到
视频上有数据,结合数据看就知道有什么用了。
参见官方rbac的教程,当我们要检查一个User是否有权修改某篇文章时,如果这个人是admin权限自然就直接可以修改,如果不是,检查其是否为文章作者,就需要附加的rule来实现,data就是要传递给rule的数据,也就是那篇文章的模型对象,在这个对象里包含了作者ID(author_id),对比author_id和当前用户的ID,如果一样就返回true,否则false。可以参看我画的DbManager::checkAccess()的执行图示。

赞(0) 打赏
未经允许不得转载:菜鸟之家 » 求讲解一下RBAC的四张表[2.0]

评论 抢沙发

登录

找回密码

注册