大多数Web应用程序为用户提供了一种重置其忘记密码的方法。 Laravel提供了发送密码提示和执行密码重置的便捷方法,而不是强迫您在每个应用程序上重新实现此功能。
在使用Laravel的密码重置功能之前,您的App \ Models \ User模型必须使用Illuminate \ Notifications \ Notifiable特征。 通常,此特征会自动包含在Laravel随附的默认App \ Models \ User模型中。
接下来,验证您的App \ Models \ User模型是否实现了Illuminate \ Contracts \ Auth \ CanResetPassword合同。 框架附带的App \ Models \ User模型已经实现了此接口,并使用Illuminate \ Auth \ Passwords \ CanResetPassword特征来包括实现接口所需的方法。
必须创建一个表来存储您的应用程序的密码重置令牌。 该表的迁移包含在默认的Laravel安装中,因此您只需迁移数据库即可创建此表:
为了正确实现允许用户重设密码的支持,我们需要定义一些路由。
首先,我们需要一对路由来处理,以允许用户通过其电子邮件地址请求密码重置链接。
其次,一旦用户访问通过电子邮件发送给他们的密码重置链接,我们将需要一对路由来处理实际的密码重置。