找回密码
开始前,确认一下账号 email_verified_at 是否不为 NULL :
点击导航栏里的登录按钮进入登录页面:
点击『忘记密码?』链接进入重试密码页面,写入邮箱:
提交:
此时系统会发送找回密码的邮件,因设置了邮件驱动为 Log ,打开 storage/logs 目录下对应今日的 laravel.log 文件,并定位到文件尾部,找到重设密码的链接:
复制到浏览器,填写新密码:
直接提交信息,没有消息提示,比较突兀,与邮件认证同样的问题。
解决方案
在控制器中重写 sendResetResponse() 方法:
app/Http/Controllers/Auth/ResetPasswordController.php
use Illuminate\Http\Request;
class ResetPasswordController extends Controller
{
protected function sendResetResponse(Request $request, $response)
{
session()->flash('success', '密码更新成功,您已成功登录!');
return redirect($this->redirectPath());
}
}
重写 sendResetResponse() 的逻辑后,重新走一遍上面的找回密码的流程。当新密码表单提交后,即可看到我们温馨的消息提醒: