назначить отдельное промежуточное ПО каждому методу ресурса в laravel

я использую Zizaco / доверьте Пакет laravel в качестве менеджера ACL для моего проекта.

Я знаю, что для ограничения доступа к группе маршрутов через промежуточное ПО и назначения ей роли (или разрешения) я должен сделать это следующим образом:

Route::group(['prefix' => 'admin', 'middleware' => ['role:admin']], function() {
....
});

Но я хочу назначить отдельное разрешение для разных маршрутов (методов) контроллера ресурсов.

Я знаю, что, как можно так, что для всего ресурса, но я не могу реализовать его для каждого метода контроллера:

Route::group(['prefix' => 'admin', 'middleware' => ['role:admin']], function() {
Route::resource('/post', ['middleware' => ['permission:manage-posts'], 'uses' => 'PostController']);

});

Я хочу дать это разрешение связанному методу:

'post-create' => public function create ()
'post-edit' => public function edit()

и так далее.

1

Решение

Вы можете назначить промежуточное ПО в конструкторе вашего контроллера:

class Foo extends Conroller
{
public function __construct() {

$this->middleware('post-create', ['only' => ['create']]);

$this->middleware('post-edit', ['only' => ['edit']]);
}
}
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]