laravel5.5 自带的忘记密码邮箱找回功能小记
Posted 愤怒的白炽灯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel5.5 自带的忘记密码邮箱找回功能小记相关的知识,希望对你有一定的参考价值。
前沿: 看了半天登录注册,然后是这个忘记密码,有点头晕,只能说确实很菜。
1. 执行php artisan route:list 查看当前所有路由,可以发现点击忘记密码时候执行的是ForgotPasswordController控制器中的showLinkRequestForm方法,打开了对应视图。
2. 输入邮箱后点击发送邮件,执行的是ForgotPasswordController控制器中的sendResetLinkEmail方法,
控制器很干净,那方法应该是在引用的trait中了,打开SendsPasswordResetEmails这个trait,方法均在其中。
3. 可以看到在sendResetLinkEmail方法中先对输入的邮箱进行了验证,然后发送邮件,再根据发送邮件返回的状态,执行对应的操作。
4. 查看broken方法,发现其引用了Password类并且返回的是\\Illuminate\\Contracts\\Auth\\PasswordBroker接口实例(这个说法不知道对不对)
查看Password类发现
查看发现\\Illuminate\\Auth\\Passwords\\PasswordBroker类继承\\Illuminate\\Contracts\\Auth\\PasswordBroker接口,顺利找到了
sendResetLink方法,参数便是我们的输入的邮箱。
5. 在sendResetLink方法中先根据邮箱获取用户数据,验证用户是否存在,然后执行了邮件发送
6. 仔细查找父类以及引用的trait就可以发现我们想要的方法
至此整体思路便大概理清楚了,剩下的我也还模糊,有待继续深究。
以上是关于laravel5.5 自带的忘记密码邮箱找回功能小记的主要内容,如果未能解决你的问题,请参考以下文章
WordPress忘记密码且邮箱无法发送找回密码链接时的解决办法