码迷,mamicode.com
首页 > 其他好文 > 详细

laravel5.5 自带的忘记密码邮箱找回功能小记

时间:2017-09-27 00:38:42      阅读:282      评论:0      收藏:0      [点我收藏+]

标签:broker   打开   cts   out   images   登录注册   isa   存在   技术   

       

前沿: 看了半天登录注册,然后是这个忘记密码,有点头晕,只能说确实很菜。

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 自带的忘记密码邮箱找回功能小记

标签:broker   打开   cts   out   images   登录注册   isa   存在   技术   

原文地址:http://www.cnblogs.com/cyclzdblog/p/7599466.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!