所以,我环顾四周并检查了SO。我的问题与此类似:为什么 CakePHP 身份验证组件没有对我的密码进行哈希处理?除了我无法让它工作。
我的密码在注册时未散列。
在我的用户控制器中:
public function beforeFilter() {
parent::beforeFilter();
$this->Auth->allow('register', 'logout');
$this->Auth->fields = array('username' => 'email', 'password' => 'password');
}
看法:
<?php echo $this->Form->create('User'); ?>
<fieldset>
<?php
echo $this->Form->input('email');
echo $this->Form->input('password');
?>
</fieldset>
<?php echo $this->Form->end(__('Submit'));?>
我有一些该email
领域的验证器。问题是,密码被存储为明文。我认为这Auth->fields
条线应该解决这个问题,但事实并非如此。我知道 CakePHP 只有在 和 都被填充时才会散列,username
但我清楚地重新映射了它,所以它应该散列正确吗?password
$data