Php Laravel 5多个“;仪表板“;管理员和经理的路线

Php Laravel 5多个“;仪表板“;管理员和经理的路线,php,laravel-5,laravel-routing,middleware,Php,Laravel 5,Laravel Routing,Middleware,(我以前问过这个问题,确实找到了一种解决方法,但很快就失去了控制。因此,现在我正在寻找一种完美的解决方案,即拉威尔方法。) 问题很简单,当管理员转到时,他们应该看到管理员仪表板,当经理转到同一链接时,他应该看到经理仪表板 我以前使用的方法是调用pagecontroller,然后根据用户角色调用相关管理员或经理的仪表板控制器 // ROUTES.php Route::group(['middleware' => 'auth'], function () { R

(我以前问过这个问题,确实找到了一种解决方法,但很快就失去了控制。因此,现在我正在寻找一种完美的解决方案,即拉威尔方法。)

问题很简单,当管理员转到时,他们应该看到管理员仪表板,当经理转到同一链接时,他应该看到经理仪表板

我以前使用的方法是调用
pagecontroller
,然后根据用户角色调用相关管理员或经理的仪表板控制器

    // ROUTES.php
    Route::group(['middleware' => 'auth'], function () {
        Route::get('dashboard', 'PagesController@dashboard');
        Route::get('users', 'PagesController@manageUsers');
    });

    // PagesController
        public function dashboard(){

           if($this->user->isAdmin()){
                return $controller = app()->make('App\Http\Controllers\Admin\dashboard')->index();
            }
           if($this->user->isManager()){
                   return $controller = app()->make('App\Http\Controllers\Manager\dashboard')->index();
                }
        }
现在这种方法的问题是,我不能再调用仪表板控制器上的中间件,因为该过程不涉及调用内核


我确信一定有办法实现这样一个基本功能,如果有人能解决这个问题,我将非常感激。

我认为这不是Laravel默认功能的原因,因为它有点违背了路线应该代表的内容。换句话说,这不是拉威尔的方式。为什么不根据用户的角色重定向用户

// ROUTES.php
Route::group(['middleware' => 'auth'], function () {
    Route::get('dashboard', function() {
        if($this->user->isAdmin())
            return redirect('/dashboard/admin');
        if($this->user->isManager())
            return redirect('/dashboard/manager');

        return redirect('/home');
    });

    Route::get('dashboard/admin', 'Admin\dashboard@index');
    Route::get('dashboard/manage', 'Manager\dashboard@index');
    Route::get('users', 'PagesController@manageUsers');
});