[[EC-CUBEめも]]

EC-CUBEはパスワードを暗号化してデータベースに登録しているので、忘れてしまうとログインできなくなります。
その場合は以下のファイルを一時的に書き換えます。

vendor/symfony/security/Core/Authentication/Provider/UserAuthenticationProvider.php
vendor/symfony/security/Core/Authentication/Provider/UserAuthenticationProvider.php~
86行目あたり

 $this->userChecker->checkPreAuth($user);
 //$this->checkAuthentication($user, $token);
 $this->userChecker->checkPostAuth($user);
         try {
             $this->userChecker->checkPreAuth($user);
 //            $this->checkAuthentication($user, $token);
             $this->userChecker->checkPostAuth($user);
         } catch (BadCredentialsException $e) {
             if ($this->hideUserNotFoundExceptions) {
                 throw new BadCredentialsException('Bad credentials.', 0, $e);
             }
 
             throw $e;
         }

これでパスワードのチェックはされなくなりますので、その間にログインしてパスワードを再設定します。

再設定後は必ずコメント部分を戻すことを忘れずに。

以下をコメントアウトしてもログインできるようになりますが、IDのチェックも行われないためにパスワードの変更までたどり着けません。~
IDも忘れた場合はデータベースを覗きましょう。

src/Eccube/Application.php~
560行目あたり

         $this['security.access_rules'] = array(
             array("^/{$this['config']['admin_route']}/login", 'IS_AUTHENTICATED_ANONYMOUSLY'),
 //            array("^/{$this['config']['admin_route']}/", 'ROLE_ADMIN'),
             array('^/mypage/login', 'IS_AUTHENTICATED_ANONYMOUSLY'),
             array('^/mypage/withdraw_complete', 'IS_AUTHENTICATED_ANONYMOUSLY'),
             array('^/mypage/change', 'IS_AUTHENTICATED_FULLY'),
             array('^/mypage', 'ROLE_USER'),
         );

メンバー管理から編集へ遷移するとエラーになります。
 PHP Fatal error:  __clone method called on non-object in /home/noid/public_html/ecdata/src/Eccube/Controller/Admin/Setting/System/MemberController.php on line 76


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS