因此,我已了解登录由Auth > LoginController
我需要更改此行以更改导航:
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/';
但我已尝试使用$_SERVER['HTTP_REFERER']
,但此类不接受。
我可以做些什么来管理我尝试做的事情以及为什么我不能在那里使用$ _SERVER?
答案 0 :(得分:1)
实际上,有些laravel方法可以让您的生活更轻松。 Inisde AuthController,有一个名为authenticated
的函数。你可以在里面做到这一点:
protected function authenticated(Request $request, User $user)
{
if (Auth::check()) {
return redirect()->intended('your/url');
//with named route
return redirect()->intended(route('your.route.name'));
}else{
return $next($request);
}
}
intended()
方法将获取用户尝试访问的URL,如果该URL不存在,它将重定向到作为参数给出的路由或URL。
转到Middleware\RedirectIfAuthenticated
并在handle
函数上修改它,看起来像这样:
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect()->intended('your/url');
}
return $next($request);
}