Я использую рюкзак для создания панели администратора в моем проекте. У меня два типа пользователей – это Superadmin, а второй – admin. Я просто хотел дать разрешения superadmin, поскольку он может перечислить, добавить, отредактировать все строки из базы данных.
но администратор может редактировать, удалять и перечислить созданные им строки.
Так что, пожалуйста, помогите мне, я новичок в рэйпаке laravel ??
Отфильтруйте результаты, которые вы показываете в методе setup()
вашего CrudController, а затем запретите доступ к методам обновления / уничтожения.
Результат может выглядеть примерно так:
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); }
Надеюсь, поможет.