如何根据登录用户加载不同的控制器?
我要做的是:
// in app/Http/routes.php
Route::get('/', [
'uses' => 'App\Http\Controllers\HomeController@index',
]);
// modules/Lesson/Http/routes.ph
Route::group(['middleware' => 'auth'], function () {
Route::get('/', [
'uses' => 'Modules\Lesson\Http\Controllers\DashboardController@index',
]);
});
因此,当用户登录时,会显示DashboardController@index
,否则显示HomeController@index
但是,当用户未登录时,它始终会加载/login
表单。
有没有办法实现这个目标?
我见过以下链接Laravel 5 Entrust one route - load different controller based on Role。但我不能这样做,因为模块是可选的。