CakePHP3のチュートリアルの続きを進めようとしたら、パスワードハッシュの設定をしていないとだめということがわかった。
以前実施したチュートリアルのファイルを使って、パスワードのハッシュ設定を行う。
パスワードハッシュを追加
パスワードハッシュの設定を行わないときは、データベースのパスワードカラムは、入力したままになる。
+---------+ | password| +---------+ | hogehoge|
チュートリアルに従って、src/Model/Entity/User.phpを修正する。
use Cake\Auth\DefaultPasswordHasher; // 追加 class User extends Entity { // _setPasswordを追加 protected function _setPassword($value) { $hasher = new DefaultPasswordHasher(); return $hasher->hash($value); } }
追加した後、パスワードの変更を実施すると、passwordカラムのデータベースの値が以下のようにハッシュ化されていることがわかる。
| password | | $2y$10$/s64/11iCVMNjI62i1RZfOhgfYdIvNCTFvUcXhABxoRplH1dtVZwq | 2017-05-14 10:21:49 | 2017-05-14 10:44:16 |
CakePHPのバージョン3.3.16で確認した。
コメント