首页 > 解决方案 > Laravel 5.7 自定义油门登录( App\Http\Controllers\LoginController::username Bad Method Call Exception)

问题描述

我正在集成一个在 laravel 5.4 中运行良好的控制器,用于验证一个自定义的控制器,该控制器也包含限制登录特征。

  $validator = Validator::make($request->all(), [
        'username' => 'required',
        'password' => 'required',
    ]);
    if ($validator->fails()) {
        return redirect('/go/login')
                    ->withErrors($validator)
                    ->withInput();
    }
    return $this->hasTooManyLoginAttempts($request);
    if ($this->hasTooManyLoginAttempts($request)) {
        $this->fireLockoutEvent($request);
        return $this->sendLockoutResponse($request);
    }

    $credentials  =  $request->all();
    $email = $credentials['username'];
    $password = ($credentials['password']);
    if (Auth::attempt(['email' => $email, 'password' => $password])) {
        // session(['KCFINDER' => ['disabled' => false]]);
        $this->clearLoginAttempts($request);
        //return redirect('/go/verify/otp');
    }
    else{
        $request->session()->flash('login', 'Please Try Again. Username and Password didnot Match.');

        return redirect('/go/login');
    }

这在 laravel 5.7 中不起作用

$this->hasTooManyLoginAttempts($request) : 这个函数返回

BadMethodCallException 方法 App\Http\Controllers\LoginController::username 不存在。

标签: laravellaravel-5.7

解决方案


您可以创建方法用户名

public function username()
{
    return 'email';
}

推荐阅读