|
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');
}
|