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
如果这解决您的问题标记作为别人的答案我也会帮助。 –