检查 fuelphp 中的访问权限

check access permission in fuelphp

我是fuelphp的新手,请帮我解决这个问题。目前,在 users_permissions table 我有这一行:

id  area    permission  description actions user_id created_at  updated_at
1   member  detail                              1       0           0

下面是controller里面写的代码

if (\Auth::has_access('member.detail'))
    $data['temp'] = "yeah";
else
    $data['temp'] = "no";

我想做的是将访问权限 member.detail 授予 ID 为 1 的用户。但结果始终等于 "no"。

您没有定义关系。

权限table只是定义了权限、区域、权限和可能的有效操作数组。在此生效之前,您必须将此权限分配给某些东西。这可能是用户(直接分配的权限),也可能是用户分配到的组或角色。这些都是多对多的关系。

所以假设您的用户有 id 1,您需要在 users_user_permissions "relation|junction|through" table 中输入一个条目,关联两条记录:

id  user_id  perms_id actions
1         1         1

现在刷新你的授权缓存,所以用户的有效权限被重新计算,它应该工作。