【问题标题】:How can I change Laravel default authentication user table如何更改 Laravel 默认身份验证用户表
【发布时间】:2017-10-23 05:11:52
【问题描述】:

如何将 Laravel 默认身份验证用户表更改为我的表。忘记密码重置后,重置邮件应该可以正常工作

我的表结构喜欢

用户名(电子邮件), 密码, 上次登录, 记住令牌, 角色id

【问题讨论】:

  • 你需要在 auth.php 中更改模型
  • 登录和注册工作。但登录后我想设置上次登录日期。忘记密码和重置无效。
  • 感谢 Akshay Deshmukh 和 Nikhil Radadiya

标签: laravel laravel-5.4


【解决方案1】:

根据Laravel Discussion Thread

查看文件config/auth.php。你会发现名字 里面的表:

'table' => 'users',

【讨论】:

  • @SusantaKumarDas,如果你找到你的答案,你可以发布正确的答案并自己接受。
【解决方案2】:

如果需要,更改您的 User.php 模型添加 protected $table = 'your_table_name' 甚至使用 protected $primaryKey = 'user_id'

【讨论】:

  • 你应该实现自己的忘记/重置密码
【解决方案3】:

更改config/auth.php中的表信息。

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\User::class,
    ],

    // 'users' => [
    //     'driver' => 'database',
    //     'table' => 'users',
    // ],
],

至于将email 字段更改为username,内置的身份验证会中断。您需要对app/Http/Controllers/Auth 中的几乎所有默认身份验证控制器进行更改。您可能需要扩展一些方法来覆盖它们以使用username。例如RegisterController 很简单。您只需要编辑验证器并创建方法。其他控制器使用您需要探索的特征来提取必须更改以使username 字段工作的方法。

【讨论】:

  • 登录和注册工作。但登录后我想设置上次登录日期。忘记密码并重置无效
  • @您需要在控制器中进行适当的更改。你不能指望人们为你做所有的工作。至少要努力。
猜你喜欢
  • 1970-01-01
  • 2015-01-15
  • 2018-01-19
  • 1970-01-01
  • 1970-01-01
  • 2016-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多