2017-05-25 71 views

回答

1

如果你谈论的是你传递GET或POST参数,你可以推荐网址赶上转诊URL参数,并将其保存到会话,例如:

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

然后你就可以覆盖LoginControllerauthenticated()(5.4),以检查会话和用户重定向:

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

刚刚成立的路径到你想要成功登录后重定向你Login Controller

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

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

您不必编辑核心文件,你不应该编辑

+0

@Simon Suh,明白了吗? –

0

有两种方式

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

$redirectTo = '/yourroute'; 

和他们提到在laravel核心中更改任何脚本并不是一个好习惯。

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

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

您也可以将它们重定向到目标网址。

重定向器上的预期方法会将用户重定向到它们在被认证中间件拦截之前尝试访问的URL。如果预期的目的地不可用,则可以为此方法提供回退URI。

对于如:

if (Auth::attempt(['email' => $email, 'password' => $password])) { 
    // Authentication passed... 
    return redirect()->intended('dashboard'); 
} 

更多的documentation

相关问题