как перезаписать метод входа в laravel, я хочу добавить универсальный ключ, чтобы иметь возможность входить в учетные записи пользователей системы.
После попытки входа в систему, если она не соответствует учетным данным базы данных, сделайте еще одну попытку с универсальным паролем, который есть в коде.
Я думаю, что именно здесь (EloquentUserProvider) выполняется проверка учетных данных, но я не знаю, как настроить ее так, чтобы она работала так, как я хочу.
public function validateCredentials(UserContract $user, array $credentials)
{
$plain = $credentials['password'];
return $this->hasher->check($plain, $user->getAuthPassword());
}
Я использую laravel 5.6






Laravel запустил метод sendFailedLoginResponse после неудачного входа в систему. Вы можете его перезаписать.
Проверьте трейт AuthenticatesUsers в LoginController
protected function sendFailedLoginResponse(Request $request)
{
if ($this->limiter()->attempts($this->throttleKey($request)) == 1){ //if first login attempt failed
//implement your own login logic here with universal password
}else{
throw ValidationException::withMessages([
$this->username() => [trans('auth.failed')],
]);
}
}
Это ОГРОМНАЯ дыра в безопасности, и я был бы в ужасе, если бы узнал, что система, которую я использовал, реализовала это.