【发布时间】:2013-10-14 14:41:44
【问题描述】:
我目前正在使用 CakePHP,如果我的用户忘记了密码,我希望允许他们重置密码。 (即我用他们的新临时密码向他们发送邮件)。
但是有一个问题。存储在我的数据库中的密码由 Auth 组件进行哈希处理,这意味着如果我尝试从我的用户模型中选择所有密码,我将获得密码的哈希版本。此外,我不知道如何在生成新密码后保存密码哈希。
我已经在谷歌上搜索了一段时间以找到答案,但似乎找不到任何如何做到这一点的示例。
有没有人尝试过类似的方法或知道我该怎么做?
【问题讨论】:
-
您是否通过谷歌搜索找到this 的主题?
-
我想我错过了这个问题。我个人建议不要发送临时密码,因为它会破坏散列的目的。但是如果你必须创建一个临时密码,生成它、发送它、散列它、存储它?
-
目前我的用户模型中有这个: public function beforeSave($options = array()) { $this->data['User']['password'] = AuthComponent::password( $this->data['User']['password']);返回真;这是否意味着密码字段附带的所有内容都将被散列?
-
我也反对发送临时密码。我通常会生成一个只能使用一次的密钥来重置他们的密码。也就是说,您使用的是哪个版本的 CakePHP? AuthComponent 在 1.x 和 2.x 之间发生了相当大的变化。
-
@ErikNedwidek 我正在使用 Cake 2.4。并且创建一个“只工作一次”的密码不是更高级吗?
标签: php cakephp authentication