Cakephp覆盖认证哈希

时间:2014-09-11 22:06:28

标签: cakephp authentication login

我正在尝试在保存到数据库之前对密码实施自定义哈希。这是我的应用程序的限制,哈希密码我使用随机密钥,知道为saltpassword,我将md5应用于用户密码,而不是将哈希密码与saltpassword连接,并再次对结果应用md5哈希,并保存密码和数据库中的salt密码。

现在我很难登录,我知道我需要覆盖蛋糕密码hasher.is它是否正确?请指导我修复这个解决方案,我需要在登录时获取访问权限。

问候

1 个答案:

答案 0 :(得分:0)

请参阅http://book.cakephp.org/2.0/en/core-libraries/components/authentication.html#configuring-authentication-handlers

在auth options数组中定义密码hasher并实现它并将其放在app/Controller/Component/Auth/中。

class MyPasswordHasher extends AbstractPasswordHasher {
    public function hash($password) {
        /* Your logic here */
    }
    public function check($password, $hashedPassword) {
        /* Your logic here */
    }
}

看看CakePHP核心中现有的hasher。查看核心如何处理事务总是总是,尤其是适配器类。