FastAdmin删除管理员的规则

在FastAdmin中,删除管理员其实是很严谨的。不可能删除不属于自己角色或者不属于自己下属角色的管理员。

// 避免越权删除管理员
            

$childrenGroupIds = $this->childrenGroupIds;
$adminList = $this->model->where('itemid', 'in', $ids)->where('itemid', 'in', function($query) use($childrenGroupIds) {
         $query->name('auth_group_access')->where('group_id', 'in', $childrenGroupIds)->field('uid');
})->select();

比方说我们删除itemid=5的管理员。

这代码首先确认管理员表里面是否存在这个管理员。

然后查询auth_group_access表中,那个itemid=5的所有角色编号,看看是否在childrenGroupIds中,childrenGroupIds代表的是当前管理员所有的角色和附属角色。

我们要删除的管理员,所属的角色是当前管理员的角色或附属角色,即表明当前管理员可以对其进行删除。



猜你喜欢

转载自blog.csdn.net/u010261924/article/details/80013909