Включите вход в Symfony 6.3 через имя пользователя и по электронной почте одновременноPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Включите вход в Symfony 6.3 через имя пользователя и по электронной почте одновременно

Сообщение Anonymous »

ПРОБЛЕМА: можно легко войти в систему с помощью имени пользователя (и пароля) или с помощью электронной почты (и пароля), но как включить и то, и другое для оптимального взаимодействия с пользователем?
ПОДХОДЫ : Я нашел несколько ответов на Stackoverflow* и в различных руководствах, ни один из них не работал для моей версии Symfony (6.3.3), или я был просто слишком глуп, чтобы заставить их работать (профессиональный веб-разработчик).
  • Создать собственное расширение AbstractAuthenticator. Не удалось, потому что: а) Требует дублирования и изменения большого количества логики. б) Слишком много экспериментировать со сложной логикой входа в систему кажется риском для безопасности. в) Мне не удалось заставить работать этот важный сервис-конструктор в моем расширении.
  • В качестве альтернативы я мог бы расширить некоторые внутренние классы Symfony, но они были окончательными, поэтому их расширение не было проблемой. допустимый вариант.
  • Можно выполнить вход в систему вручную, но это просто перемещает вышеуказанную проблему в другое место (создание «паролей», «значков», «токенов» и т. д.).
  • li>
РЕШЕНИЕ. Я нашел элегантный обходной путь. Причина, по которой я все еще задаю этот вопрос, заключается в том, что
а) я хочу поделиться своим решением с другими и
б) может быть, с ним что-то не так, и я этого не вижу, и есть гораздо лучший способ сделать это?
*Похожие вопросы, но со старыми версиями Symfony (и они у меня не работали):
  • Вход пользователя Symfony 5.3 по имени пользователя или по электронной почте
  • Войти в Symfony, используя имя пользователя ИЛИ адрес электронной почты


Подробнее здесь: https://stackoverflow.com/questions/768 ... -same-time
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»