Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 基于用户登录laravel背包获取数据_Php_Laravel_Permissions_Backpack For Laravel - Fatal编程技术网

Php 基于用户登录laravel背包获取数据

Php 基于用户登录laravel背包获取数据,php,laravel,permissions,backpack-for-laravel,Php,Laravel,Permissions,Backpack For Laravel,我正在使用背包在我的项目中创建管理面板。我有两种类型的用户,一种是超级管理员,另一种是管理员。我只是想授予superadmin权限,因为他可以列出、添加、编辑数据库中的所有行 但是管理员只能编辑、删除和列出自己创建的行 因此,请帮助我,我是laravel背包的新手???过滤实体CrudController的setup()方法中显示的结果,然后禁止访问更新/销毁方法 结果可以如下所示: public function setup() { // take care of LIST oper

我正在使用背包在我的项目中创建管理面板。我有两种类型的用户,一种是超级管理员,另一种是管理员。我只是想授予superadmin权限,因为他可以列出、添加、编辑数据库中的所有行

但是管理员只能编辑、删除和列出自己创建的行


因此,请帮助我,我是laravel背包的新手???

过滤实体CrudController的
setup()
方法中显示的结果,然后禁止访问更新/销毁方法

结果可以如下所示:

public function setup() 
{
    // take care of LIST operations
    if (\Auth::user()->hasRole('admin')) {
       $this->crud->addClause('where', 'author_id', '=', \Auth::user()->id);
    }
}
此外,您需要在
update()
destroy()
方法中进行检查,以防止管理员删除其他人的条目

// place this both inside your update() and inside your destroy() method 
if (\Auth::user()->hasRole('admin') && $this->crud->entry->author_id!=\Auth::user()->id) {
   abort(405);
}

希望有帮助。

谢谢你的回答。但我只是不想显示编辑页面。那么我应该把这个检查放在哪里呢?它还显示了一个错误——试图在我写$this->crud->entry\u created\u的行中获取非object的属性。。请给我一个忠告