Я создаю приложение Laravel 5.8, и у меня есть существующее приложение, пользователи которого зарегистрированы в таблице SQL. Я могу подключиться к sql, поэтому файлы .env верны, но мне нужны настраиваемые поля в процессе аутентификации. Я проверил онлайн-руководства, но, похоже, многое изменилось с 5.6 или более старых версий, используемых в руководствах, до версии 5.8. Может ли кто-нибудь помочь мне сначала выяснить, как изменить поле имени пользователя на «имя пользователя» вместо «электронная почта», я уже пробовал переопределить функцию в app \ Controllers \ Auth \ LoginController.php, но это просто продолжает говорить: «Эти учетные данные подходят не совпадают с нашими записями ". в разделе ошибок. Моя текущая таблица под названием 'users_custom' содержит следующие поля:
- id (УНИКАЛЬНО; интервал (5))
- имя пользователя (varchar (100))
- пароль (varchar (100)) Примечание. Это старый пароль в кодировке md5. Мне также нужна помощь с хеш-форматом Laravel, при этом пользователям не нужно повторно вводить свои пароли, если это возможно.
- passphrase (varchar (200)) // Это было сделано для DialogFlow в более ранней версии. Это не должно быть доступно / проверено laravel.
Мое приложение не работает с электронной почтой пользователя, поэтому этого поля нет в моей таблице пользователей. Я определил protected $table='users_custom';
в модели «Пользователи».
РЕДАКТИРОВАТЬ: решено
Не знаю, как, но когда я начал заново с контроллерами Auth и моделью пользователя по умолчанию, я просто изменил имя таблицы на protected $table = users_custom
и добавил public function username() { return 'username'; }
в LoginController, и теперь он работает.