1
在我的Laravel應用程序中,我有不同的角色(用戶,管理員,管理員)。Laravel路由相同的URL不同控制器
我想知道最佳做法來管理我的每個用戶的主頁,這意味着我想使用相同的URL但不同的意見。
看來,它不能直接在路線上完成:
Route::group(['middleware' => 'auth:user'], function() {
$u = 'user.';
Route::get('/', ['as' => $u . 'home', 'uses' => '[email protected]']);
});
Route::group(['middleware' => 'auth:manager'], function() {
$m = 'manager.';
Route::get('/', ['as' => $m . 'home', 'uses' => '[email protected]']);
});
其他方式將是每個人都重定向到同一控制器,控制器內,顯示不同的看法。
Route::group(['middleware' => 'auth:all'], function() {
$a = 'authenticated.';
Route::get('/', ['as' => $a . 'home', 'uses' => '[email protected]']);
});
但是它可以成爲,如果你要管理超過2個角色很煩人......
最後的辦法是使像路線一定條件:
Route::group(['middleware' => 'auth:all'], function() {
if (Auth::user()->hasRole('user)'{
Route::get('/', ['as' => $a . 'home', 'uses' => '[email protected]']);
} else {
Route::get('/', ['as' => $a . 'home', 'uses' => '[email protected]']);
}
});
許多謝謝
thx,我想我會這樣做然後:) – Andrew
如果這解決您的問題標記作爲別人的答案我也會幫助。 –