repository = $repository; } /** * {@inheritdoc} */ public function loadUserByUsername($username) { $user = null; try { /** @var User|null $user */ $user = $this->repository->loadUserByUsername($username); } catch (\Exception $ex) { } if (null === $user) { throw new UsernameNotFoundException(sprintf('User "%s" not found.', $username)); } return $user; } /** * {@inheritdoc} */ public function refreshUser(SecurityUserInterface $user) { if (!$user instanceof User) { throw new UnsupportedUserException(sprintf('Expected an instance of %s, but got "%s".', User::class, \get_class($user))); } /** @var User|null $reloadedUser */ $reloadedUser = $this->repository->getUserById($user->getId()); if (null === $reloadedUser) { throw new UsernameNotFoundException(sprintf('User with ID "%s" could not be reloaded.', $user->getId())); } return $reloadedUser; } /** * {@inheritdoc} */ public function supportsClass($class) { return $class === User::class || $class === 'App\Entity\User'; } }