Php 通过Ajax登录到与Laravel Auth相同的页面

Php 通过Ajax登录到与Laravel Auth相同的页面,php,laravel-5,Php,Laravel 5,所以我知道登录是由Auth>LoginController 我需要更改此行以更改导航: /** * Where to redirect users after login. * * @var string */ protected $redirectTo = '/'; 但是,我尝试使用$\u SERVER['HTTP\u REFERER'],但在这个类中不被接受 我可以做些什么来管理我正在尝试做的事情,为什么我不能在那里使用$\u服务器?实际上,有一些laravel方法可以让你的生活

所以我知道登录是由
Auth>LoginController

我需要更改此行以更改导航:

/**
 * Where to redirect users after login.
 *
 * @var string
 */
protected $redirectTo = '/';
但是,我尝试使用
$\u SERVER['HTTP\u REFERER']
,但在这个类中不被接受


我可以做些什么来管理我正在尝试做的事情,为什么我不能在那里使用$\u服务器?

实际上,有一些laravel方法可以让你的生活更轻松。在ISDE 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);
  }
}
destined()
方法将获取用户试图访问的URL,如果该URL不存在,它将重定向到作为参数给定的路由或URL

对于Laravel>=5.3 转到
Middleware\RedirectIfAuthenticated
,然后在
handle
函数上修改它,使其看起来像这样:

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

return $next($request);
}

您计划如何处理ajax请求中的网页响应?仅更改重定向路由在这里对您没有帮助。您可能需要覆盖更多的登录控制器方法,以将所有响应转换为json。我不推荐这种方法。我看不到这个功能(Laravel 5.3上的Im)@Baldráni有时,对这些文件的更改不会立即应用,请在进行这些更改后运行
php artisan config:cache
命令或
php artisan cache:clear