バージョン選択

フォーラム

メニュー

オンライン状況

33 人のユーザが現在オンラインです。 (20 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 33
もっと...

サイト内検索

質問 > フロント機能 > パスワード再発行で、パスワードが更新されるときと、されないときがある。

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
mashshsh
投稿日時: 2018/10/30 11:51
対応状況: 確認中
新米
登録日: 2018/2/28
居住地:
投稿: 3
パスワード再発行で、パスワードが更新されるときと、されないときがある。
▼テンプレート
[EC-CUBE] EC-CUBEのバージョン、新規インストールかアップデートか、等
[レンタルサーバ] さくらレンタルサーバー
[PHP] 7.1
[データベース] MYSQL5.6
[ブラウザ] Chrome,IE
[導入プラグインの有無] あれば導入プラグインを記載
[現象]
いつも、お世話になっております。

過去スレのこちらの方と同じ状況です。
https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=20432&forum=10

①パスワード再発行を押す。
②登録アドレスにURLが届く。URLを押す。
③登録アドレスにパスワードが届く。
④しかし、DBのパスワードは更新されていません。

これが、更新されるときとされないときがあります。

$app['orm.em']->flush();をした直後に、
DBの中身をデバッグで確認すると、
パスワードは更新されていますが、

最終的に処理が全完了した時に、
パスワードが戻っています。
ということは、ロールバックされている?と思っていますが、
エラーも出ておらず、なぜロールバックされるのかわかりません。

同じような状況の方はいらっしゃいませんか。


コードですが、全く変更しておりません。

public function reset(Application $app, Request $request, $reset_key) { $errors = $app['validator']->validateValue($reset_key, array( new Assert\NotBlank(), new Assert\Regex(array( 'pattern' => '/^[a-zA-Z0-9]+$/', ))) ); if ('GET' === $request->getMethod() && count($errors) === 0) { try { log_info("りせっときー:".$reset_key); $Customer = $app['eccube.repository.customer'] ->getActiveCustomerByResetKey($reset_key); log_info($Customer->getId()); } catch (\Exception $e) { throw new HttpException\NotFoundHttpException('有効期限が切れているか、無効なURLです。'); } // パスワードの発行・更新 $pass = $app['eccube.repository.customer']->getResetPassword(); log_info("パスワードおおおお:".$pass); $Customer->setPassword($pass); // 発行したパスワードの暗号化 if ($Customer->getSalt() === null) { $Customer->setSalt($app['eccube.repository.customer']->createSalt(5)); } $encPass = $app['eccube.repository.customer']->encryptPassword($app, $Customer); $Customer->setPassword($encPass); $Customer->setResetKey(null); // パスワードを更新 $app['orm.em']->persist($Customer); $app['orm.em']->flush(); $CustomerCopy = $app['orm.em'] ->getRepository('Eccube\Entity\Customer') ->find($Customer->getId()); log_info("DBこうしんご".$CustomerCopy->getResetKey()); $event = new EventArgs( array( 'Customer' => $Customer, ), $request ); $app['eccube.event.dispatcher']->dispatch(EccubeEvents::FRONT_FORGOT_RESET_COMPLETE, $event); // メール送信 $app['eccube.service.mail']->sendPasswordResetCompleteMail($Customer, $pass); // ログ出力 $app['monolog']->addInfo( 'reset password complete:' . "{$Customer->getId()} {$Customer->getEmail()} {$request->getClientIp()}" ); $CustomerCopy = $app['orm.em'] ->getRepository('Eccube\Entity\Customer') ->find($Customer->getId()); log_info("DBこうしんごのあと".$CustomerCopy->getResetKey()); } else { throw new HttpException\AccessDeniedHttpException('不正なアクセスです。'); } return $app->render('Forgot/reset.twig'); }
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,839名です
総投稿数は109,985件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1291
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.