Laravel 5.8使用自定义表和字段开发Auth

时间:2019-03-09 13:28:59

标签: php mysql laravel laravel-authentication laravel-5.8

我正在创建一个Laravel 5.8应用程序,并且有一个现有应用程序,其用户已在SQL表中注册。我能够连接到sql,因此.env文件正确,但是我需要在Auth过程中自定义字段。我检查了在线指南,但似乎已从指南中使用的5.6或更旧版本更改为5.8。谁能帮助我先弄清楚如何将用户名字段更改为“用户名”而不是“电子邮件”,我已经尝试覆盖app \ Controllers \ Auth \ LoginController.php中的函数,但这一直在说“这些凭据可以与我们的记录不符。”在错误部分。我当前的名为“ users_custom”的表包含以下字段:

  • id(UNIQUE,int(5))
  • 用户名(varchar(100))
  • 密码(varchar(100))注意:这是旧的md5编码密码。我也需要Laravel哈希格式的帮助,如果可能的话,不需要用户重新输入密码。
  • passphrase(varchar(200))//这是在较早版本中为DialogFlow制作的。 laravel无需访问/检查。

我的应用程序无法处理用户的电子邮件,因此该字段在我的用户表中不存在。我在用户模型中定义了protected $table='users_custom';

编辑:已解决

不确定如何,但是当我从默认的Auth控制器和用户模型重新开始时,我只是将表名更改为protected $table = users_custom,并在LoginController中添加了public function username() { return 'username'; },现在它可以正常工作了。

1 个答案:

答案 0 :(得分:-3)

在 config/auth.php 中将 'table' => 'users' 改为 'table' => 'custom_user'

并为帐户创建迁移