laravel sendFailedLoginResponse()覆盖

时间:2016-10-04 13:10:13

标签: php laravel angular

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

这是供应商文件“vendor \ Illuminate \ Foundation \ Auth \ 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']);
    }
}

我希望能够在提供不正确的登录凭据时定义自己的路径,以指向用户应该重定向的位置。如果有人能帮助我,那将非常感激。

1 个答案:

答案 0 :(得分:3)

由于您使用use AuthenticatesUsers; 你可以通过在“\ App \ Http \ Controllers \ Auth \ LoginController.php”中放入相同的函数来覆盖默认的sendFailedLoginResponse()函数

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

希望这有帮助