2017-11-06 1 views
-1

を取得失敗:Magentoの顧客のログインiは、次の行動に直面しています顧客のログインの問題をデバッグしている間、パスワードのハッシュ

方法getPasswordHash()は、顧客のコントローラのloginPostアクションで空の文字列を返します。

これまでのところ私は顧客モデルです。しかしgetPasswordHashは一般的な方法であると思わ

public function validatePassword($password) 
{ 
    $hash = $this->getPasswordHash(); 
    if (!$hash) { 
     return false; 
} 

提案が高く評価されている(とusetoの戻りデシベル値は、顧客データは、しかし、存在しています)。私はクッキーをクリーンアップし、新しいセッションになったときに

UPDATE

問題は、固定された一時的になります。しかし、何度も繰り返し表示されます

+0

ここで適切な答えを出すための十分なコンテキストはありません。解決しようとしているログインの問題で質問を更新できますか? – Joe

+0

また、validatePassword()メソッドの一番下に 'return Mage :: helper( 'core') - > validateHash($ password、$ hash); (その部分をコピーするのを忘れましたか?) – Joe

+0

エラーメッセージは一般的な「無効なユーザー名またはパスワード」です。 validatePasswordメソッドは部分的にのみコピーされ、iveがどこにあるかが示されます。この時点で、私は空の$ハッシュを得て、言及されたゲッターについてそれほど手掛かりではありません。 –

答えて

0

getPasswordHash()はデータベースからハッシュ値を返します。

実行して、デシベルで、このクエリ:

select e.email, v.value from customer_entity e join customer_entity_varchar v on e.entity_id=v.entity_id join eav_attribute a on v.attribute_id=a.attribute_id where attribute_code='password_hash' and e.email='customer_email_here'; 

それは与えられた顧客の電子メールのハッシュ値を示すべきです。そこに何もなければ、データベースに問題があります。

データベースにハッシュ値が表示される場合は、設定と競合する拡張機能である可能性があります。拡張子がMage\Customerのクラスをオーバーライドしているかどうかを確認し、それらの競合を解決します。 app\code\local\Mageのコードを変更して、デフォルトの動作を変更することもできます。

+0

あなたのクエリは正しい結果を返しました。前にも述べたように、データは存在します。私は自分のコード/ローカルをきれいに保ちます。また、xmlで見つかった顧客モデルの書き換えもありません。とにかくありがとう –

関連する問題