如何在类型的配置文件依赖项中重定向用户?

How to redirect user in profile dependency of type?

我有一些类型的用户。如何将用户重定向到帐户类型的配置文件依赖项?

授权成功后我需要检查Auth::user()->type并重定向到指定的控制器url。

我尝试为此使用中间件:

class RedirectIfAuthenticated
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  string|null  $guard
     * @return mixed
     */
    public function handle($request, Closure $next, $guard = null)
    {
        if (Auth::guard($guard)->check()) {

            if(Auth::user()->type == "1"){
                return redirect('/center');
            }

           if(Auth::user()->type == "2"){
               return redirect('/doctor');
           }
        }

        return $next($request);
    }
}

但是这个中间件在哪里调用一次呢?

您可以通过这样做为特定路由定义自定义中间件:

Route::get('admin/profile', function () {
    //
})->middleware('custom');

但是,在这种情况下,由于您只需要在用户登录后重定向用户,我建议将逻辑放在登录方法的末尾:

public function login(Request $request)
{
    // handle authentication and return $user object if authenticated

    if ($user->type == "1") {
        return redirect('/center');
    } else if ($user->type == "2") {
        return redirect('/doctor');
    }

    // set default redirect if necessary
}