【发布时间】:2016-05-10 20:34:56
【问题描述】:
我们继承了一个 CakePHP 代码库和一个模式。将其移植到 Laravel 5.2.x,但我们必须维护他们在模式中使用用户名而不是电子邮件的模式。所以我正在尝试使用用户名列来重置密码。
我已将 ResetPasswords::sendResetLinkEmail 拉入 PasswordController 以覆盖它并验证用户名而不是电子邮件,并将用户名传递给 sendResetLink 以便用户可以通过身份验证:
public function sendResetLinkEmail(Request $request)
{
$this->validate($request, [
'username' => 'required|email',
]);
$broker = $this->getBroker();
$response = Password::broker($broker)->sendResetLink(
$request->only('username'), $this->resetEmailBuilder()
);
// ...
但是,在 PasswordBroker 中调用第 ~91 行的方法后会引发错误:
$token = $this->tokens->create($user); // line 91
现在我不知道这是怎么回事,因为它似乎正在调用一个依赖注入到 PasswordBroker 中的接口,但它负责保存密码重置记录。
【问题讨论】:
标签: laravel laravel-5 laravel-5.2