一、忘记密码模块路由
二、控制器解析
跟注册、登录的控制器一样,大部分的逻辑使用trait引入。
ForgotPasswordController:负责忘记密码页面,以及邮件发送
四、扩展开发:自定义的忘记密码行为
忘记密码有多种处理方式,这里默认的是通过邮件重置。现实中,还可以有通过回答预设问题、手机号等方式。
1)IlluminateFoundationAuthSendsPasswordResetEmails::sendResetLinkEmail负责邮件发送
这里,我们解析一下发送邮件的方法,并假设邮件已发送成功(实际没有发出去)
public function sendResetLinkEmail(Request $request){$this->validateEmail($request);// We will send the password reset link to this user. Once we have attempted// to send the link, we will examine the response then see the message we// need to show to the user. Finally, we'll send out a proper response.//$response = $this->broker()->sendResetLink(// $request->only('email')//);// always true$response = Password::RESET_LINK_SENT;return $response == Password::RESET_LINK_SENT? $this->sendResetLinkResponse($request, $response): $this->sendResetLinkFailedResponse($request, $response);}
2)IlluminateFoundationAuthResetsPasswords::showResetForm负责展示重置密码页面,reset方法负载验证重置密码。
以上就是php-laravel框架用户验证(Auth)模块解析(二)注册模块的详细内容,觉得对你有帮助记得点个关注!!
小编结合以上知识体系整理了一套BAT面试真题+架构技术资料,退可提升软硬实力,进可收获高薪好offer。资料内容涵盖BAT架构技术与面试真题,减少你到处搜索资料的时间,成体系的实战技术知识,让你面试、进阶都更加容易。
领取方式:对面试文档总结感兴趣的帮可以点下面链接进入石墨文档了解大型互联网企业面试答案获取详情!
PHP进阶学习笔记、面试;文档、视频资源免费获取shimo.im