Cakephp 3自定义密码列以在模型中使用_setPassword方法?
Cakephp 3 customize password column to use _setPassword method in Model?
我在数据库中有一个名为 PASS
的列用于存储密码。它需要通过 _setPassword 方法进行散列。但默认情况下,如果列名是 password
,它只会通过该方法,我如何使 PASS
像 password
一样通过 _setPassword
方法?
<?php
namespace App\Model\Entity;
use Cake\ORM\Entity;
use Cake\Auth\DefaultPasswordHasher;
/**
* DefaultUser Entity.
*/
class DefaultUser extends Entity
{
/**
* Fields that can be mass assigned using newEntity() or patchEntity().
*
* @var array
*/
protected $_accessible = [
'first_name' => true,
'last_name' => true,
'email' => true,
'PASS' => true,
'active' => true,
];
protected function _setPassword($password) {
$hasher = new DefaultPasswordHasher();
return $hasher -> hash($password);
}
}
注意:这是 cakephp 3.0 代码。
为实体使用正确的名称setter:
protected function _setPASS($password) {
$hasher = new DefaultPasswordHasher();
return $hasher->hash($password);
}
我在数据库中有一个名为 PASS
的列用于存储密码。它需要通过 _setPassword 方法进行散列。但默认情况下,如果列名是 password
,它只会通过该方法,我如何使 PASS
像 password
一样通过 _setPassword
方法?
<?php
namespace App\Model\Entity;
use Cake\ORM\Entity;
use Cake\Auth\DefaultPasswordHasher;
/**
* DefaultUser Entity.
*/
class DefaultUser extends Entity
{
/**
* Fields that can be mass assigned using newEntity() or patchEntity().
*
* @var array
*/
protected $_accessible = [
'first_name' => true,
'last_name' => true,
'email' => true,
'PASS' => true,
'active' => true,
];
protected function _setPassword($password) {
$hasher = new DefaultPasswordHasher();
return $hasher -> hash($password);
}
}
注意:这是 cakephp 3.0 代码。
为实体使用正确的名称setter:
protected function _setPASS($password) {
$hasher = new DefaultPasswordHasher();
return $hasher->hash($password);
}