【问题标题】:CakePHP 2.0 AuthComponent hashes passwords automaticallyCakePHP 2.0 AuthComponent 自动对密码进行哈希处理
【发布时间】:2011-11-20 01:50:43
【问题描述】:

我目前正在使用我们可爱的框架的新版本。现在,在我进行注册的地方,AuthComponent 会自动对我的密码进行哈希处理,尽管手册明确表示这已在新版本中被删除。那么这是一个核心错误还是我做错了什么?我的代码没有什么特别之处,我只有两个字段 password 和 *confirm_password* 在我的验证中进行比较。但是由于 CakePHP 散列 password 我不得不写这样的东西:

public function checkPasswords($data) {
        $data = array_keys($data);
        return $this->data['User'][$data[0]] === AuthComponent::password($this->data['User']['confirm_password']);
    }

主要问题发生在我尝试登录时,密码字段没有自动散列。有人能帮我吗?我不知道为什么 AuthComponent 在我的“注册”函数中对密码进行哈希处理,而不在我的“登录”函数中?

【问题讨论】:

    标签: cakephp cakephp-2.0


    【解决方案1】:

    听起来您正在使用不同版本的 CakePHP。 2.0+ 版绝对不会在没有您明确编码的情况下对密码进行哈希处理;所以您使用的是 1.x,或者您在代码中的其他地方对密码进行了哈希处理。您确定将 $data 传递给 checkPasswords() 的方法没有进行哈希处理吗?

    向我们展示 register() 函数,以便更好地理解问题。

    【讨论】:

    • 好了这个话题可以关闭了。我的失败,天哪。我真的错过了我的函数中的$data['User']['password'] = AuthComponent::password($this->request->data['User']['password']);。对不起。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-06
    • 2010-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-30
    相关资源
    最近更新 更多