2010-09-01 45 views
1

CakePHP的身份验证组件需要输入用户名字段,以便在保存时将密码字段转换为哈希值。显然,即使我把在beforeFilter()如下:在CakePHP的身份验证组件中使用电子邮件而不是用户名

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

它不会将其插入到数据库之前加密密码。

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

在此先感谢您的帮助!

这里是在users_controller.php中的前过滤器:

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

而且app_controller.php:

​​
+0

你可以显示一些代码。即你的beforeFilter函数,甚至AppController类? – 2010-09-01 19:45:32

+0

糟糕,我已经复制了“$ this-> Auth-> fields = array('username'=>'email','password'=>'password')这一行。在AppController中也是如此,这似乎是造成这个问题的原因。对不起,感谢您的提示,通过张贴在这里复查检查:) – Justin 2010-09-01 20:40:34

回答

3

哎呀,我已经重复行$this->Auth->fields = array('username' => 'email', 'password' => 'password');AppController以及和它似乎这是造成这个问题的原因。对不起,感谢您的提示,通过张贴在这里仔细检查:)

相关问题