幾個月前我開始嘗試CakePHP,現在我正嘗試爲登錄用戶創建一個「更改密碼頁」。我有一個由這些字段組成的表單:當前密碼,新密碼和新密碼確認。對於當前密碼,我想驗證它是否與登錄用戶的密碼匹配,作爲用戶模型中的規則。 我知道我可以通過以下方式獲取登錄用戶的信息:AuthComponent::user()
。但是,它爲我提供了除密碼之外的所有模型字段。CakePHP - 無法使用Authcomponent訪問模型中登錄的用戶密碼::用戶
我知道Auth->login()
負責設置會話變量爲登錄的用戶,但我不知道我在做什麼錯在這裏,只有密碼字段不能被訪問:
public function login() {
if ($this->request->is('POST')) {
if($this->Auth->login()) {
$this->redirect($this->Auth->redirect());
} else {
$this->Session->setFlash('Your username/password combination was incorrect.');
}
}
}
這裏是我的登錄視圖:
<h2>Login</h2>
<?php
echo $this->Form->create('Promoter');
echo $this->Form->input('username');
echo $this->Form->input('password', array('type' => 'password'));
echo $this->Form->end('Login');?>
我使用的子模型作爲用戶,我在AppController中設置:
public $components = array(
'Auth'=>array(
...
'authenticate' => array(
'Form' => array('userModel' => 'Promoter')
),
'authorize' => array('Controller')
)
);
我可以訴諸在控制器驗證密碼,但這將放棄:)請告訴我,如果我需要提供更多的代碼來澄清問題。
謝謝。
謝謝。這很好。 – timp