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