Symfony2 - перехватить вход в систему, чтобы проверить, включен ли пользователь - PullRequest
2 голосов
/ 12 декабря 2011

Я реализовал свой собственный механизм активации, при котором пользователь сначала должен подтвердить адрес электронной почты, прежде чем он сможет войти в систему.Однако, как лучше перехватить логин, чтобы проверить, активирован ли уже пользователь?

Я хотел бы просто сделать проверку, например:

if (!$user->isEnabled())
    //TODO refuse login

Добавлять ли я onSecurityInteractiveLogin слушатель?Или я должен сам реализовать весь механизм входа в систему?

1 Ответ

5 голосов
/ 13 декабря 2011

Я нашел решение этой проблемы с помощью следующего интерфейса:

Symfony\Component\Security\Core\User\AdvancedUserInterface

и реализовал метод isEnabled().

Если я сейчас пытаюсь войти в систему, используя неактивного пользователяКидает Symfony\Component\Security\Core\Exception\DisabledException.

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