joxiaoai 2016-03-10 17:04:09 2325次浏览 1条回复 0 0 0

DbMamager.php中,数据库里面auth_item_child数据如下

parent child
admin editor
editer site/index
admin update/cache

当用户user_id=2,属于editor角色的时候,该用户点进update/cache页面的时候,权限控制就进入了死循环。。。。。

跟进查询。。。。 在\vendor\yiisoft\yii2\rbac\DbManager.php中,函数checkAccessRecursive

$parents = $query->select(['parent'])
            ->from($this->itemChildTable)
            ->where(['child' => $itemName])
            ->column($this->db);

这个居然一直有值。。。。。使得整个函数进入了无限递归中。。。。。。。

您需要登录后才可以回复。登录 | 立即注册