Laravel:以不同的方式重定向不同的用户角色


Laravel: Redirect different user roles differently

是否可以将不同用户角色的用户重定向到laravel 5.1中的不同页面?

我已经研究了Auth中间件和Auth控制器,但没有发现处理登录请求本身。

我在这里找到了一些关于登录重定向的东西,Laravel重定向回到原始目的地后登录,但我不确定在哪里放置建议的代码片段。

有人能帮我一下吗

你可以在RedirectIfAuthenticated Middleware中更新

namespace App'Http'Middleware;
use Closure;
use Illuminate'Contracts'Auth'Guard;
class RedirectIfAuthenticated
{
    /**
     * The Guard implementation.
     *
     * @var Guard
     */
    protected $auth;
    /**
     * Create a new filter instance.
     *
     * @param  Guard  $auth
     * @return void
     */
    public function __construct(Guard $auth)
    {
        $this->auth = $auth;
    }
    /**
     * Handle an incoming request.
     *
     * @param  'Illuminate'Http'Request  $request
     * @param  'Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if ($this->auth->check()) {
            $auth = Auth::user()->roles()->first();
            switch ($auth->role) {
                case 'admin':
                        return  redirect()->route('admin');    
                    break;
                case 'superadmin':
                        return  redirect()->route('superadmin'); 
                    break;
                case 'user':
                        return  redirect()->route('user');  
                    break;
                default:
                    # code...
                    return  redirect()->route('user');  
                    break;
            }   
         }
        return $next($request);
    }
}