EC -CUBE4 ログインできなくなった時の対処法

 EC-cube4でテスト環境を作成し、FTPの中身をうつし、データベースを移したときに、なぜか、ログインできなくなり、下記のサイトを参照にパスワードを再設定し、ログインできるようになったので、備忘録で残しておきます。


ECCUBE4系管理画面のパスワードを忘れたときの対処方法
https://ec-cuber.jp/news-column/column21/

上記で、かなりわかりやすく書かれているので、

よろしければ、参考にしてください(^^)


概略は、

編集対象ファイル

/app/config/eccube/packages/eccube.yaml
/src/Eccube/Form/Type/Admin/ChangePasswordType.php

手順

1.「eccube.yaml」のeccube_auth_type を「PLAIN」に変更

「/app/config/eccube/packages/」の 「eccube.yaml」を編集いたします。
eccube.yaml の26行目付近に記載されている
eccube_auth_type: HMAC を
HMAC→PLAIN
に変更して保存します。

2.phpmyadminで、「login_id」と「password」をコピー

テーブル:dtb_member
対象メンバーの「login_id」と「password」をコピー。

3.管理画面のログインにてlogin_idと暗号化されたpasswordでログインします。

phpmyadminで、コピーしたlogin_idとpasswordを入力し、「ログイン」します。

4.最初に使った「eccube.yaml」の eccube_auth_type をHMACに戻す

/app/config/eccube/packages/
eccube.yaml のPLAINをもとの→「HMAC」に戻す。

5.ChangePasswordType.phpの52行目付近の「 new UserPassword(), 」をコメントアウト

/src/Eccube/Form/Type/Admin/の「ChangePasswordType.php」
の52行目付近「 new UserPassword(), 」→「 //new UserPassword(), 」をコメントアウトします。

6.キャッシュをクリア

管理画面>コンテンツ管理>キャッシュ管理よりキャッシュ削除
※キャッシュを削除しないと、「PLAIN」と記載された状態で読み込まれる場合があり、パスワードは変更できますが、入力したパスワードがそのままデータベースに登録されてしまうため、要注意。私は、これを誤ってやってしまい。やり直しました^^;

7.管理画面よりパスワードを変更

管理画面右上をクリックし「パスワード変更」より
・「現在のパスワード」→myphpadminより、コピーしたパスワードを使用
・「新しいパスワード」→任意の新しいパスワード
を入力。

8.ChangePasswordType.phpの52行目付近の「 new UserPassword(), 」のコメントアウトを外す


9.ログアウトしてログインできるか確認


といった流れになります。

下記のサイトで、詳しく解説されているので、よかったら、
またみてください。

ECCUBE4系管理画面のパスワードを忘れたときの対処方法
https://ec-cuber.jp/news-column/column21/

コメント