EC-CUBEめも

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

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

        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
Last-modified: 2021-09-19 (日) 19:09:21