CakePHP忘了密码

Cam*_*ron 3 php cakephp

嗨,我正在寻找使用CakePHP创建一个简单的忘记密码系统,用户将输入他们的用户名/电子邮件,然后收到一个电子邮件,其中包含可以单击以创建新密码的链接.

我用Google搜索但没有找到任何东西:/

使用CakePHP 1.3

gen*_*ion 12

  1. 显示带有表单的视图,以便用户可以输入他们的电子邮件地址.
  2. 将表单发布到reset_password控制器操作.
  3. reset_password控制器操作中查找this->data['User']['email']并将电子邮件地址存储在数据库表中.
  4. 这个相同的数据库表应该有一个key或一个token字段.该字段应为CHAR(40).在reset_password操作中$key = Security::hash(String::uuid(),'sha1',true),创建密钥或哈希并将其存储在keytoken字段中.
  5. $url = Router::url( ($this->here), true ).'/'.$key在控制器reset_password操作中生成URL .这将根据当前操作生成一个URL,并在其中附加关键参数,您可以在用户单击电子邮件链接时在此相同功能中验证该参数.
  6. 您还需要设置Email组件以实际发送电子邮件,包括上面生成的URL在邮件正文中.

这应该足以让你朝着正确的方向前进.