2016-11-26 120 views
0

我试图删除重定向的身份验证用户的默认Laravel行为一旦通过身份验证。Laravel Ajax登录尝试重定向

我评论在LoginController.php

//protected $redirectTo = '/home'; 

而且也改变了AuthenticatesUsers供应商档案返回,而不是在登录成功重定向JSON:

protected function sendLoginResponse(Request $request) 
    { 
     $request->session()->regenerate(); 

     $this->clearLoginAttempts($request); 

     /*return $this->authenticated($request, $this->guard()->user()) 
       ?: redirect()->intended($this->redirectPath());*/ 

       return response()->json(['SUCCESS' => 'AUTHENTICATED'], 200); 
    } 

但仍当我成功登录我看到我的Chrome网络标签,我得到一个错误,因为它试图将我重定向到/home这是一个未定义的路线,导致错误,并停止我的Laravel SPA。

为什么Laravel继续引导我到/home,即使我将它注释掉并更改了Vendor文件?

+0

检查用户是否已经验证过了,并显示路由的代码(网页或API)文件@SummerDeveloper – PassionInfinite

+0

@PassionInfinite用户进行身份验证,但路线文件不包含定义对于'home',我评论道:'//路线:: get('home','HomeController @ homepage') - > name('home');' –

+0

您运行了composer命令dump-autoload和config:更改文件后清除? @SummerDeveloper – PassionInfinite

回答

1

这是一个中间件问题。

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

     return $next($request); 
    } 

在,app/Http/Middleware/RedirectIfAuthenticated.php