プロジェクトの ACL Manager としてZizaco/ entrust laravel パッケージを使用しています。
ミドルウェアを介してルート グループへのアクセスを制限し、それにロール (またはアクセス許可) を割り当てるには、次のようにする必要があることを知っています。
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()
等々。