[英]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.