【发布时间】:2018-09-15 03:02:31
【问题描述】:
我想将 'users' 表中的列名 'email' 更改为 'username',laravel 框架使用它来验证用户。
我已经尝试了以下方法:
// LoginController.php
public function username()
{
return 'username';
}
// User.php
public function getAuthIdentifierName() {
return 'username';
}
但是,如果我发出 HTTP 请求以通过密码获取新令牌(请参阅此处:https://laravel.com/docs/5.6/passport#password-grant-tokens),它总是会返回一条错误消息,指出无法找到“电子邮件”列。
我必须更改/配置哪些文件才能完成这项工作?
谢谢
【问题讨论】:
-
尝试更改 AuthenticatesUsers.php。即公共函数用户名(){返回'用户名'; }
-
@DPS 谢谢,但我已经通过在 LoginController.php 中添加函数 username() 来做到这一点
-
您已覆盖 AuthenticatesUsers。您是否添加了使用 AuthenticatesUsers;在 LoginController.php 中
-
@JoseSilva 谢谢!现在它起作用了。我想知道为什么这不在 Laravel 官方文档中
标签: laravel authentication columnname