0
cakephp 2では、会社とユーザーのテーブルに新しいレコードを作成するフォームがあります。cakephpはモデルのパスワードをハッシュしていません
私の問題は、両方のテーブルに保存されますが、UmuserテーブルにパスワードまたはIDキーをハッシュしないということです。それはまったくUmuserモデルとは何も呼んでいないようです。これは保存前であり、それはそれを呼び出さない。
public function beforeSave() {
if (isset($this->data[$this->alias]['password'])) {
$this->data[$this->alias]['password'] = AuthComponent::password($this->data[$this->alias]['password']);
}
return true;
}
Umuserはpuging/Usermin/Modelsディレクトリにあります。
会社コントローラ
は、データを保存するには:それはデータを保存して、それを行うにはUmuserモデルをバイパスする理由public function add() {
if ($this->request->is('post')) {
$this->Company->create();
if ($this->Company->saveAll($this->request->data, array('validate'=>'first'))) { // Should ensure both sets of model data get validated
$this->Session->setFlash(__('The company has been saved'));
$this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash(__('The company could not be saved. Please, try again.'));
}
}
}
カントを参照してください。
を保存されている場合
その後、ここに投稿が関連するもの2つのモデルがあります: このような何かをしようか? – entropid
私のヒント:コードを乾燥した状態に保つために、この物を中央に置いてください。振る舞いは、モデルレベルでそれを行う素晴らしい方法です。http://www.dereuromark.de/2011/08/25/working-with-passwords-in-cakephp/ – mark
はい、モデルが関連付けられています。 umuserテーブルにはcompany_idというフィールドがあります。 beforesaveにハッシュされていないデータを保存します –