Laravel 5.4,如何在成功登录后将登录用户重定向到引荐URL?

时间:2017-05-25 07:37:10

标签: laravel redirect login

如何在Laravel 5.4中成功登录后重定向用户而不编辑核心文件?

5 个答案:

答案 0 :(得分:1)

如果您正在谈论您作为GET或POST参数传递的引荐网址,您可以捕获引荐网址参数并将其保存到会话中,例如:

session(['redirectAfterLogin' => request('referralUrl')]);

然后,您可以覆盖authenticated()(5.4)中的LoginController来检查会话并重定向用户:

protected function authenticated(Request $request, $user)
{
    if (session()->has('referralUrl')) {
        $url = session('referralUrl');
        session()->forget('referralUrl');
        return redirect($url);
    }
}

答案 1 :(得分:0)

Login Controller成功登录后,只需设置您想要重定向的路径

/**
 * Where to redirect users after login.
 *
 * @var string
 */
protected $redirectTo = '/home';

答案 2 :(得分:0)

您可以在$redirectTo = '/yourroute';中设置受保护的LoginController.php

您不必编辑核心文件,也不应编辑它

答案 3 :(得分:0)

有两种方式

首先是他们的回答..使用

$redirectTo = '/yourroute';

并且他们提到改变laravel核心中的任何脚本都不是一个好习惯。

如果第一个不起作用,另一种方法是在您的登录/注册表单中添加一个条件,如

if(Auth::check())
{
    return redirect('/yourroute');
}

答案 4 :(得分:0)

您还可以将它们重定向到预期的网址。

重定向器上的预期方法将用户重定向到他们在被身份验证中间件拦截之前尝试访问的URL。如果目标目的地不可用,则可以为此方法提供后备URI。

例如:

location__country

documentation

中的更多内容