Comment enregistrer de mot de passe utilisateur de Hachage format en DB dans Yii2

J'ai besoin de créer un nouvel utilisateur. Et je veux enregistrer le mot de passe dans hachage format en DB. Mais j'ai échoué à plusieurs reprises.

Voici mon code:

Contrôleur de

public function actionCreate()
{
    $model = new User();

    if ($model->load(Yii::$app->request->post()) && $model->save()) {
        return $this->redirect(['view', 'id' => $model->id]);
    } else {
        return $this->render('create', [
            'model' => $model,
        ]);
    }
}

Utilisateur Modèle

public function validatePassword($password)
{
    return Security::validatePassword($password, $this->password_hash);
}


/**
 * Generates password hash from password and sets it to the model
 *
 * @param string $password
 */


public function setPassword($password)
{
    $this->password_hash = Security::generatePasswordHash($password);
}

Utilisateur Des Règles De La Table

public function rules()
{
    return [
        [['c_authkey', 'inserttime'], 'required'],
        [['c_branch', 'c_roleid', 'c_active', 'c_status'], 'integer'],
        [['c_expdate', 'inserttime', 'updatetime'], 'safe'],
        [['username', 'c_desig', 'insertuser', 'updateuser'], 'string', 'max' => 50],
        [['password'], 'string', 'max' => 32],
        [['c_authkey'], 'string', 'max' => 256],
        [['c_name'], 'string', 'max' => 100],
        [['c_cellno'], 'string', 'max' => 15],
        [['username'], 'unique']
    ];
}

Ce que je suis absent? quelle est la solution?

Vous avez deux états (est-ce un copier+coller erreur ou partie de votre question?). Supprimer le premier car c'est celui de la démo ne pas utiliser le composant de sécurité.
C'est une partie de ma question. J'ai supprimé la Première. Mais c'est une économie de seulement statique mot de passe comme d': 123.. Comment puis-je les convertir en de hachage et de les enregistrer dans la base de données .. merci
Alors s'il vous plaît modifier la question pour contenir le code qui est réellement la cause de votre problème
merci. J'ai édité ma question lignes. c'est une économie de seulement statique mot de passe comme d': 123.. Comment puis-je les convertir en de hachage et de les enregistrer dans la base de données. merci
Quel est le nom de votre champ de mot de passe dans la base de données?

OriginalL'auteur | 2014-06-29