diff --git a/src/Security/SQLLoginUserAuthenticator.php b/src/Security/SQLLoginUserAuthenticator.php index 0c64c59..065b95f 100644 --- a/src/Security/SQLLoginUserAuthenticator.php +++ b/src/Security/SQLLoginUserAuthenticator.php @@ -7,6 +7,7 @@ use App\Security\Hasher\PasswordEncoder; use App\Service\SQLLoginService; use App\SQLLogin\Exception\DatabaseConnectionException; use App\SQLLogin\Exception\DataToFetchConfigurationException; +use App\SQLLogin\Exception\EmptyResultException; use App\SQLLogin\Exception\InvalidSQLPasswordException; use App\SQLLogin\Exception\LoginElementsConfigurationException; use App\SQLLogin\Exception\SecurityPatternConfigurationException; @@ -83,6 +84,9 @@ class SQLLoginUserAuthenticator extends AbstractLoginFormAuthenticator $remoteSalt = $datas[$this->sqlLoginRequest->getSaltColumnName()]; unset($datas[$this->sqlLoginRequest->getSaltColumnName()]); } + } catch (EmptyResultException $e) { + $session->set(self::ERROR_LOGIN, true); + throw new AuthenticationException(); } catch (DatabaseConnectionException $e) { $session->set(self::ERROR_PDO, true); throw new AuthenticationException(); diff --git a/src/Service/SQLLoginService.php b/src/Service/SQLLoginService.php index 493f5c2..d8880cc 100644 --- a/src/Service/SQLLoginService.php +++ b/src/Service/SQLLoginService.php @@ -52,14 +52,14 @@ class SQLLoginService extends AbstractController $datas = $query->fetch(PDO::FETCH_ASSOC); $query->closeCursor(); if (false === $datas) { - usleep(1000); + usleep(3000); ++$attempt; } else { break; } } if (self::MAX_RETRY === $attempt) { - throw new EmptyResultException('Résultat vide après 3 tentatives'); + throw new EmptyResultException(); } return $datas;