【发布时间】:2010-09-01 19:36:06
【问题描述】:
CakePHP 的 Auth 组件要求存在用户名字段,以便在保存时将密码字段转换为哈希值。显然,即使我在beforeFilter() 中添加以下内容:
$this->Auth->fields = array('username' => 'email', 'password' => 'password');
在将密码插入数据库之前,它不会对密码进行加密。
所以我的问题是,假设这应该发生,加密密码的最佳方法是什么?或者,我是否在某个地方犯了一个简单的错误?
提前感谢您的帮助!
这是 users_controller.php 中的前置过滤器:
function beforeFilter() {
$this->Auth->fields = array('username' => 'email', 'password' => 'password');
}
还有 app_controller.php:
var $components = array('Auth');
【问题讨论】:
-
你能显示一些代码吗? IE。你的 beforeFilter 函数甚至 AppController 类?
-
糟糕,我复制了行“$this->Auth->fields = array('username' => 'email', 'password' => 'password');”在 AppController 中也是如此,这似乎是导致问题的原因。对此感到抱歉,并感谢您在此处发布以仔细检查的提示:)