簡體   English   中英

根據用戶登錄laravel背包獲取數據

[英]Get data based on user login in laravel backpack

我正在使用背包在我的項目中創建管理面板。 我有兩種類型的用戶,一種是Superadmin,第二種是admin。 我只想給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);
}

希望能幫助到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM