Как отобразить сообщение об ошибке на странице входа в систему и не отображать исключение - PullRequest
0 голосов
/ 06 июня 2019

Я использую класс UserChecker для проверки активации учетной записи, я использую следующий код, но я хочу отобразить учетную запись сообщения, не активированную, на странице входа в систему, не выдавая исключение:

Class UserChecker implements UserCheckerInterface
{
  public function checkPreAuth(UserInterface $user)
  {
     if (!$user instanceof AppUser) {
        return;
    }

   }

   public function checkPostAuth(UserInterface $user)
   {
    if (!$user instanceof AppUser) {
        return;
    }

    if (!$user->getIsActive()) {
        throw new \Exception("member not active");
    }

   }
 }

1 Ответ

0 голосов
/ 07 июня 2019
use Symfony\Component\Security\Core\Exception\LockedException;

Class UserChecker implements UserCheckerInterface
{
    public function checkPreAuth(UserInterface $user)
    {
        //.....
    }
    public function checkPostAuth(UserInterface $user)
    {
        if (!$user instanceof AppUser) {
            return;
        }

        if (!$user->getIsActive()) {
            $ex = new LockedException("member not active");
            $ex->setUser($user);
            throw $ex;
        }

    }
}

Я не уверен в вашей версии Symfony.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...