2016-10-04 122 views
2

我正在使用Laravel和Angular 2,并且遇到了有关Laravel内置系统的问题。我可以很好地登录,但如果用户输入不正确的凭据,它会重定向回到上一页,但这不符合我的要求。我想为重定向定义一个自定义路径。我已经尝试使用$ loginPath并将其更改为自定义路径,但该解决方案不起作用。laravel sendFailedLoginResponse()覆盖

这是从供应商档案 “供应商\照亮\基金会\验证\ AuthenticateUsers.php”

protected function sendFailedLoginResponse(Request $request) 
{ 
    return redirect()->back() 
     ->withInput($request->only($this->username(), 'remember')) 
     ->withErrors([ 
      $this->username() => Lang::get('auth.failed'), 
     ]); 
} 

这是我的登录控制器 “\软件\ HTTP \控制器\验证\默认功能LoginController.php”

<?php 

namespace App\Http\Controllers\Auth; 

use App\Http\Controllers\Controller; 
use Illuminate\Foundation\Auth\AuthenticatesUsers; 

class LoginController extends Controller 
{ 


    use AuthenticatesUsers; 

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

    /** 
    * Create a new controller instance. 
    * 
    * @return void 
    */ 
    public function __construct() 
    { 
     $this->middleware('guest', ['except' => 'logout']); 
    } 
} 

我希望能够来定义我自己的路到用户应当在凭证给予不正确的日志被重定向。如果有人能帮助我,那将不胜感激。

回答

3

由于您使用use AuthenticatesUsers; 你可以通过把同样的功能在您的覆盖默认sendFailedLoginResponse()功能“\软件\ HTTP \ \控制器验证\ LoginController.php”

protected function sendFailedLoginResponse() 
{ 
    return redirect('/your/url/here'); 
} 

希望这有助于

+1

哦,谢谢,这工作得很好,我很感激。 – nusje2000