DefaultPasswordHasher を use して _setPassword を記述します。 patchEntity した段階で暗号化されるようです。 src\Model\Entity\User.php <?php namespace App\Model\Entity; use Cake\Auth\DefaultPasswordHasher; use Cake\ORM\Entity; class User extends Entity { protected $_accessible = [ '*' => true, 'id' => false ]; protected $_hidden = [ 'password' ]; protected function _setPassword($password) { return (new DefaultPasswordHasher)->hash($password); } } 初期ユーザーのパスワード生成 †データベースを作成する際に初期ユーザーを登録しておきたいですよね。 AppController.phpを以下のように変えてやれば暗号化したパスワードを知ることができます。 <?php namespace App\Controller; use Cake\Controller\Controller; use Cake\Event\Event; use Cake\Auth\DefaultPasswordHasher; class AppController extends Controller { public function initialize() { parent::initialize(); $this->loadComponent('RequestHandler'); $this->loadComponent('Flash'); $objHasher = new DefaultPasswordHasher; echo $objHasher->hash('password'); } |