cakephp.jp を整備したり、マニュアルを書いたり、コミュニティをもりあげたりと色々していたなー。
今回、久しぶりに新規プロジェクトをCakeでつくりはじめました。
それほど最新のものではなくてよいと、2.3.10で作りはじめようかと思ったのですが、ちょっとはまったのでここに書いておきます。
CakePHP 2.X 用には、チュートリアル:
"シンプルな認証と承認のアプリケーション"
http://book.cakephp.org/2.0/ja/tutorials-and-examples/blog-auth-example/auth.html
がありますが、これがもう2.4.Xじゃないと動作しないコードになっています。2.3.10でこのチュートリアルをはじめたらはまりました。
チュートリアルでは、
頭で
App::uses('SimplePasswordHasher', 'Controller/Component/Auth');
beforeSave()内で
$passwordHasher = new SimplePasswordHasher();
$this->data[$this->alias]['password'] = $passwordHasher->hash($this->data[$this->alias]['password']);
となっていますが、2.3.10ではここが、
$this->data[$this->alias]['password'] = AuthComponent::password($this->data[$this->alias]['password']);
とする必要があるらしいです。