CakePHP3のチュートリアルでパスワードのハッシュ設定をおこなう

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で確認した。

コメント

タイトルとURLをコピーしました