Php 将用户重定向到基于其角色的视图

Php 将用户重定向到基于其角色的视图,php,laravel,routes,Php,Laravel,Routes,我有三个用户角色: -管理员 -指导员 -学生 我需要将管理员和讲师重定向到管理员面板视图,然后将学生重定向到其他视图。有人能推荐我做这件事的最佳方式吗?我是拉雷维尔的新手,正在努力理解如何才能让这一切顺利进行。谢谢 我现在的web.php是 <?php use Illuminate\Support\Facades\Route; Route::redirect('/', '/login'); Auth::routes(); Route::get('/home', 'HomeCont

我有三个用户角色: -管理员 -指导员 -学生

我需要将管理员和讲师重定向到管理员面板视图,然后将学生重定向到其他视图。有人能推荐我做这件事的最佳方式吗?我是拉雷维尔的新手,正在努力理解如何才能让这一切顺利进行。谢谢

我现在的web.php是

<?php

use Illuminate\Support\Facades\Route;

Route::redirect('/', '/login');

Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');

Route::namespace('Admin')->prefix('admin')->name('admin.')->group(function(){
    Route::middleware('can:manage_users')->group(function(){
        Route::resource('/users', 'UsersController'); //URL to access, followed by controller created
        Route::resource('/courses', 'CoursesController');
        Route::resource('/modules', 'ModulesController');
    });
});

您可以覆盖登录控制器中的
authenticated()
函数

   protected function authenticated(Request $request, $user)
    {

       if ($user->hasRole('admin') ) {
                $this->redirectTo = route('admin.dashboard');
            }elseif($user->hasRole('instructor'))
            {
                $this->redirectTo = route('instructor.dashboard');
            }elseif($user->hasRole('student'))
            {
                $this->redirectTo = route('student.dashboard');
            }

    }
您可以像这样编辑
中间件/RedirectIfAuthenticated.php

public function handle($request, Closure $next, $guard = null)
    {
        if ( \Auth::check() && \Auth::user()->hasRole('admin')) {
            return redirect()->route('admin.dashboard');
        }elseif(\Auth::check() && \Auth::user()->hasRole('instructor')) {
            return redirect()->route('instructor.dashboard');
        }elseif(\Auth::check() && \Auth::user()->hasRole('student')) {
            return redirect()->route('student.dashboard');
        }

        return $next($request);
    }

您可以在web.php中定义
admin.dashboard、讲师.dashboard、学生.dashboard
路由

谢谢您的帮助,您能建议我在web.php中是否有具体的定义方法吗?我是拉雷维尔的新手,非常感谢你的帮助。