1
我正在使用Zizaco/entrust laravel軟件包作爲我的項目的ACL管理器。將單獨的中間件分配給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']);
});
我想assing此權限相關的方法:
'post-create' => public function create()
'post-edit' => public function edit()
和等等。
我有很多型號和每個有那些有不同的方法各個資源。 是否爲每種方法添加中間件? 是不是還有其他簡單而通用的解決方案? –
@ A.B.Developer與任何其他類一樣,中間件應該有一個單獨的責任,您可以編寫一些複雜的條件代碼,以使中間件可用於多種方法,但隨後難以維護和擴展。 –
似乎不是一個好的答案。這種方法將需要爲每種方法使用一箇中間件。對於開發人員來說太多了 –