laravel6开发论坛-密码重置

65 阅读1分钟

找回密码

开始前,确认一下账号 email_verified_at 是否不为 NULL :

image.png

点击导航栏里的登录按钮进入登录页面:

image.png

点击『忘记密码?』链接进入重试密码页面,写入邮箱:

image.png

提交:

image.png

此时系统会发送找回密码的邮件,因设置了邮件驱动为 Log ,打开 storage/logs 目录下对应今日的 laravel.log 文件,并定位到文件尾部,找到重设密码的链接:

image.png

复制到浏览器,填写新密码:

image.png

直接提交信息,没有消息提示,比较突兀,与邮件认证同样的问题。

解决方案

在控制器中重写 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() 的逻辑后,重新走一遍上面的找回密码的流程。当新密码表单提交后,即可看到我们温馨的消息提醒:

image.png