- 追加された行はこの色です。
- 削除された行はこの色です。
[[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