在CakePHP的Auth组件中使用电子邮件而不是用户名

时间:2010-09-01 19:36:07

标签: cakephp authentication

CakePHP的Auth组件需要存在用户名字段才能在保存时将密码字段转换为哈希值。显然,即使我将以下内容放在beforeFilter()

$this->Auth->fields = array('username' => 'email', 'password' => 'password');

在将密码插入数据库之前,它不会对密码进行加密。

所以我的问题是,假设这应该发生,加密密码的最佳方法是什么?或者,我在某个地方犯了一个简单的错误吗?

提前感谢您的任何帮助!

这是users_controller.php中的before过滤器:

function beforeFilter() {
    $this->Auth->fields = array('username' => 'email', 'password' => 'password');
}

app_controller.php:

var $components = array('Auth');

1 个答案:

答案 0 :(得分:3)

哎呀,我也复制了$this->Auth->fields = array('username' => 'email', 'password' => 'password');中的AppController行,这似乎导致了问题。对此感到抱歉,感谢您在此处发帖仔细检查提示:)

相关问题