在CakePHP';s验证组件

在CakePHP';s验证组件,cakephp,authentication,Cakephp,Authentication,CakePHP的Auth组件要求用户名字段存在,以便在保存时将密码字段转换为哈希。显然,即使我将以下内容放在beforeFilter()中: 在将密码插入数据库之前,它不会加密密码 所以我的问题是,假设这是应该发生的,加密密码的最佳方式是什么?或者,我在什么地方犯了一个简单的错误 提前感谢您的帮助 以下是users_controller.php中的before过滤器: function beforeFilter() { $this->Auth->fields = array(

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

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

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

提前感谢您的帮助

以下是users_controller.php中的before过滤器:

function beforeFilter() {
    $this->Auth->fields = array('username' => 'email', 'password' => 'password');
}
var $components = array('Auth');
以及app_controller.php:

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

哎呀,我复制了行
$this->Auth->fields=array('username'=>'email','password'=>'password')AppController
中的code>,这似乎是导致问题的原因。对此表示抱歉,并感谢您在此处发布的提示,让我们再次检查:)

您能显示一些代码吗。例如,您的beforeFilter函数,甚至AppController类?哎呀,我在AppController中也复制了行“$this->Auth->fields=array('username'=>'email','password'=>'password');”,这似乎是导致问题的原因。对此表示抱歉,并感谢您在此处发布的提示,以便再次检查:)