0

我试图了解在 cakephp 2.1 中创建忘记密码功能的过程。这就是我想要发生的事情。

  1. 用户点击忘记密码链接
  2. 输入他们的电子邮件
  3. Cake 检查电子邮件是否存在
  4. 如果确实如此,则会向它们发送一个链接,该链接带有附加到 url 的某种随机字符串
  5. 他们点击链接并输入新密码
  6. 数据库中的密码已更新
  7. 用户可以登录

我找到了这篇文章,但我希望有人能够提供一些示例代码给我看。

提前谢谢了

4

1 回答 1

1

我最近在个人项目中做了类似的事情。这可能不是最好的解决方案,但这是我的过程:

  1. 未登录的用户以“恢复密码”形式提交他的电子邮件。
  2. 控制器找到电子邮件的所有者(如果有),生成代码并将其保存到用户模型中的专用列。然后向电子邮件发送一个编码链接,其中包含用户 ID 和生成的代码。
  3. 用户访问他的电子邮件并单击链接。
  4. 控制器接收参数并将其拆分为代码和ID,读取用户ID并检查代码是否匹配,如果匹配,则显示新密码表单,如果不匹配,则清除代码并要求用户重新启动进程。

笔记。

  • 我使用 uuid 作为用户 ID,使用 10 长度的随机字符串作为代码。我通过“_”加入两者,以将代码发送到电子邮件。
  • 在我的实现中,代码不会按时间过期,但如果用户登录或错过(很可能是通过猜测),代码将被清除。
于 2012-08-08T18:26:39.260 回答