Laravel重定向用户(如果用户已经登录)

时间:2018-10-15 06:36:38

标签: authentication laravel-5

我有一个具有两种身份验证的应用程序,即用户和管理员。

如果用户已经登录,我想将用户重定向到特定页面。就像如果用户已经登录一样,URL http://example.com/log 会将用户带到URL http://example.com/dashboard

类似地,如果管理员已经登录,则URL http://example.com/admin/login 应该将它们重定向到URL http://example.com/admin/dashboard

问题是我可以更改handle方法以重定向到RedirectIfAuthenticated页面中的仅一页。在该页面上有关如何检查请求是来自管理员还是用户的任何想法。

public function handle($request, Closure $next, $guard = null)
    {
        if (Auth::guard($guard)->check()) {
            return redirect('/dashboard');
        }

        return $next($request);
    }

1 个答案:

答案 0 :(得分:0)

如果您创建2个用于进行身份验证的防护措施,例如用户和管理员,则只需在下面进行检查即可

    if (!Auth::guard('user')->user()) {
        return redirect('/dashboard');
    }
    if (!Auth::guard('admin')->user()) {
         return redirect('/admin/dashboard');
    }