EC-CUBEの管理者ログインに手間取ったお話

EC-CUBEMysqlにインポートしてすると管理者ログイン画面が出てきます。

そのログイン画面に、DBのIDとパスを入力するとEC-CUBEの管理画面に入ることができるのですが、管理者ログイン画面で、いくらIDとパスを入力してもログインできない!

パスを間違えたのかと思い色々試したけどログインできず…

仕方なくGoogle先生にご相談してみると、DBをインポートした時に、なぜか管理者のパスワードがNGとなってログインできない場合があるとの事。

調べてみると、data/class/util/SC_Utils.phpを修正することで直るみたいなので試してみることに。

function sfIsMatchHashPassword($pass, $hashpass, $salt) {
$res = false;
if ($hashpass != '') {
if (AUTH_TYPE == 'PLAIN') {
if($pass === $hashpass) {
$res = true;
}
} else {
if (empty($salt)) {
// 旧バージョン(2.11未満)からの移行を考慮
$hash = sha1($pass . ":" . AUTH_MAGIC);
} else {
$hash = SC_Utils_Ex::sfGetHashString($pass, $salt);
}
if($hash === $hashpass) {
$res = true;
}
}
}
return $res;//ここの$resをtrueに変更する
}

この記述の一番下の記述を書き換えると…

治りました!!ようやく管理者画面に入れて満足です♪

ただこの記述、idとパスが何でも入れるようになる記述なので、管理者画面に入れたらすぐにパスを変えないと鍵が無い状態なので注意っス!!