• このエントリーをはてなブックマークに追加

関連記事

Comment

  1. confirmPasswordですが、常にfalseになるため、以下の処理に書き換えましたが何か処理を忘れているのでしょうか

       public function confirmPassword( $field, $password, $password_confirm) {
            if ($this->data[$this->name][$password] == $this->data[$this->name][$password_confirm]) {
                // パスワードハッシュ化
                $this->request->data['User']['password'] = Security::hash( $password, 'sha512', true);
                return true;
            }
        }
    
    • コメントありがとうございます。
      いただいたコードが正しいようです。勝手ながら、修正に上記を使用させていただきます。
      ご指摘いただき、ありがとうございました。

  2. とても参考になります!ありがとうございます!

    1点質問がございます。
    signupアクションの5行目にて、

    $this->User->save( $this->data)
    

    がございますが、私のコントローラーでは都合上、項目ごとに登録する必要がございまして、

    'password' => $this->request->data['User']['password']
    

    としているのですが、上記だとパスワードがnullになります。
    かと言って、

    'password' => $this->request->data['User']['plain']
    

    とするとハッシュ化されていないパスが登録されてしまいます。

    上記の場合どのように指定すれば良いかお教え願えませんでしょうか。


    本登録(activate)アクションの3行目は、

    $this->User->id = user_id;
    ↓
    $this->User->id = $user_id;
    

    ですよね??

    • コメントありがとうございます。

      $this->User->save( $this->data)

      の前にハッシュ化する処理を追加してみて下さい。

      $this->request->data['User']['password'] = Security::hash( $this->request->data['User']['plain'], 「ハッシュタイプ」, true);

      (この投稿では、モデル内のconfirmPasswordバリデーションで行っています。)

      user_idの件、確かに!ありがとうございました。

Message

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.

    PAGE TOP ↑