Я пытаюсь реализовать дополнительный уровень аутентификации с целью аутентификации пользователя, только если у него есть определенный статус. Если статус отличается, я хочу показать пользовательскую регистрационную ошибку (ваша учетная запись была приостановлена) и не аутентифицировать пользователя вообще, подобно тому, что происходит, если учетные данные неверны, но с другим сообщением об ошибке.Дополнительные критерии проверки подлинности
До сих пор я пытался два варианта:
Я добавил проверку внутри слушателя, который проверяет для «InteractiveLoginEvent». Здесь я могу проверить состояние пользователя и установить сообщение об ошибке флэш-памяти, но я не вижу, как правильно перенаправить обратно на страницу входа, поскольку это событие не имеет метода ответа, кроме использования вызова header(), который я определенно хочу избежать.
Я внедрил пользовательский избиратель, установил «access_decision_manager» startegy на «единодушный» и вернул «ACCESS_DENIED», если статус не позволяет пользователю пройти аутентификацию. Пока что так хорошо, пользователь не может получить доступ к ресурсам, но я вижу, что он все еще получает аутентификацию. И я определенно этого не хочу.
Я не уверен, если я что-то упустил или если я пойду в неправильном направлении.