- 追加された行はこの色です。
- 削除された行はこの色です。
[[CakePHP3めも]]
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);
}
}
*初期ユーザーのパスワード生成 [#u49c2975]
データベースを作成する際に初期ユーザーを登録しておきたいですよね。~
パスワードを暗号化しておく前提であれば app.php に書いてあるSALTを元に暗号化しておく必要があります。
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');
}