diff --git a/Security/UserProvider/UserProvider.php b/Security/UserProvider/UserProvider.php index e3377d225..b741fd2c2 100644 --- a/Security/UserProvider/UserProvider.php +++ b/Security/UserProvider/UserProvider.php @@ -45,17 +45,17 @@ class UserProvider implements UserProviderInterface public function loadUserByUsername($username): UserInterface { - $user = $this->em->createQuery(sprintf( - "SELECT u FROM %s u " - . "WHERE u.usernameCanonical = UNACCENT(LOWER(:pattern)) " - . "OR " - . "u.emailCanonical = UNACCENT(LOWER(:pattern))", - User::class)) - ->setParameter('pattern', $username) - ->getSingleResult(); - - if (NULL === $user) { - throw new UsernameNotFoundException(sprintf('Username "%s" does not exist.', $username)); + try { + $user = $this->em->createQuery(sprintf( + "SELECT u FROM %s u " + . "WHERE u.usernameCanonical = UNACCENT(LOWER(:pattern)) " + . "OR " + . "u.emailCanonical = UNACCENT(LOWER(:pattern))", + User::class)) + ->setParameter('pattern', $username) + ->getSingleResult(); + } catch (\Doctrine\ORM\NoResultException $e) { + throw new UsernameNotFoundException(sprintf('Bad credentials.', $username)); } return $user;