<分区>
我想要一个 changepassword 模块。我想从数据库中检查用户当前密码是否与用户输入的密码相同。我定义了一个 $validate 数组,如下所示。
`'old_password' => array(
'minLength' => array(
'rule' => array('minLength', 1),
'message' => 'Current Password is required'
),
'oldPass' => array(
'rule' => array('oldPass',array('old_password')),
'message' => 'Current Password is invalid'
)
),`
并定义了一个方法来检查当前密码
`function oldPass($data){
if(!empty($data['old_password'])) {
$valid = false;
$userData = $this->Auth->user(); // here I am getting error
$oldPass = Security::hash(Configure::read('Security.salt') . $data['old_password']);
if ($userData['User']['password'] == $oldPass) {
$valid = true;
}
return $valid;
} else {
return false;
}
}`
这是我得到的错误 未定义的属性:User::$Auth [APP\models\user.php,第 194 行] fatal error :在非对象上调用成员函数 user()
基本上都是我想把当前密码和用户输入的密码匹配
我正在使用 $this->User->validates() 进行验证。并获取错误消息我正在使用 $this->set('validationErrorsArray', $this->User->invalidFields());
请帮助我如何在模型中获取当前登录的用户 ID。