public function verifyPassword($password)
{
if(md5($password) === $this->password)
return TRUE;
else
return FALSE;
//return Yii::$app->security->validatePassword($password, $this->password);
}
public function beforeSave($insert)
{
// hash new password if set
if ($this->newPassword) {
//$this->password = Yii::$app->security->generatePasswordHash($this->newPassword);
$this->password = md5($this->newPassword);
}
// convert ban_time checkbox to date
if ($this->ban_time) {
$this->ban_time = date("Y-m-d H:i:s");
}
// ensure fields are null so they won't get set as empty string
$nullAttributes = ["email", "username", "ban_time", "ban_reason"];
foreach ($nullAttributes as $nullAttribute) {
$this->$nullAttribute = $this->$nullAttribute ? $this->$nullAttribute : null;
}
return parent::beforeSave($insert);
}
'User :: find() -> где (['email' => $ email, 'password_hash' => $ password_hash]) -> one();' Эта привычка не защищена с помощью SQL-инъекции. Мы должны найти модель, а затем вызвать функцию validatePassword для проверки модели пользователя. Ответ на Pheagey. –