委托未获得许可

时间:2019-09-18 18:56:50

标签: php laravel rbac entrust

我在数据库的permissions表中具有四个权限:

enter image description here

在我的刀片服务器模板中,我通过如下指令检查这些权限:

    @permission('programs')
       dd('code where permission HAS NOT a dot in the name')
    @endpermission

    @permission('programs.store')
       dd('code where permission HAS a dot in the name')
    @endpermission

    @permission('programs.update')
       dd('code where permission HAS a dot in the name')
    @endpermission

授权用户的角色具有上述所有权限,但是具有权限programs的代码不起作用,而其他用户则起作用。

为什么?怎么解决?

1 个答案:

答案 0 :(得分:0)

哦。...委托为用户缓存了我以前的设置,因此您所需要的只是每次更改用户权限时更新缓存:

Cache::tags(config('entrust.permission_role_table'))->flush();