バージョン選択

フォーラム

メニュー

オンライン状況

63 人のユーザが現在オンラインです。 (48 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 63
もっと...

サイト内検索

プラグイン > バグ報告・利用に関する質問 > データ移行プラグインでの会員パスワード

バグ報告・利用に関する質問

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
h_tanaka
投稿日時: 2019/7/26 10:13
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1610
データ移行プラグインでの会員パスワード
EC-CUBE2系から4系へのデータ移行プラグインですが、会員のパスワードも移行されるのでしょうか?
https://www.ec-cube.net/products/detail.php?product_id=1804

感覚的には暗号化アルゴリズムが異なるために移行不可のような気がしているのですが、プラグイン説明で何も触れられていないため、ご存じの方いらっしゃればお教えいただきたいです。
nyorai
投稿日時: 2019/7/26 13:00
対応状況: −−−
仙人
登録日: 2015/8/21
居住地:
投稿: 302
Re: データ移行プラグインでの会員パスワード
2.12〜であれば、移行を実施したことがあります。
問題なくパスワードも移行され、ログインすることができました。

2.4の場合はアルゴリズムがsha1のため、以下のyamlで設定値を変更してあげる必要があるかと思います。

https://github.com/EC-CUBE/ec-cube/blob/4.0/app/config/eccube/packages/eccube.yaml#L28


2.11以下はまだやったことがないので、もし結果がわかれば共有いただけるとありがたいです。
h_tanaka
投稿日時: 2019/7/26 13:51
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1610
Re: データ移行プラグインでの会員パスワード
nyorai さん

2.4.1 から 4.0.2 への移行を行いました。
移行先の次の設定を変更済みです。

.env
ECCUBE_AUTH_MAGIC=xxxxxxxxxxx

app/config/eccube/packages/eccube.yaml
eccube_password_hash_algos: SHA1

管理者はログインすることができましたが、フロントはログインすることができません。
原因わかりますでしょうか?


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

h_tanaka
投稿日時: 2019/8/23 21:45
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1610
Re: データ移行プラグインでの会員パスワード
ちなみに移行後の4系サイトの管理画面で会員情報編集からパスワードを変更してみても、フロントでログインできませんでした。

次のメッセージが表示されます。
------
ログインできませんでした。
入力内容に誤りがないかご確認ください。


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

h_tanaka
投稿日時: 2019/8/23 22:43
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1610
Re: データ移行プラグインでの会員パスワード
自己解決しました。

DBを確認したところ、パスワードが平文で登録されていました(!)
さすがに平文はよろしくないと思ったので、移行のタイミングで暗号化をかけました。

app/Plugin/DataMigration4/Controller/Admin/ConfigController.php(220行目)
 saveToC() 内

 【変更前】
} elseif ($column == 'password' || $column == 'name01' || $column == 'name02') {
    $value[$column] = empty($data[$column]) ? 'Not null violation' : $data[$column];


 【変更後】
} elseif ($column == 'password') {
    $value[$column] = empty($data[$column]) ? 'Not null violation' : sha1($data[$column].':'.$this->eccubeConfig['eccube_auth_magic']);
} elseif ($column == 'name01' || $column == 'name02') {
    $value[$column] = empty($data[$column]) ? 'Not null violation' : $data[$column];


これにより、フロントページでログインできるようになりました。


ちなみに、4系の暗号化ロジックでは、2系からの移行時が考慮されているようでした。
このため、app/config/eccube/packages/eccube.yaml の暗号化アルゴリズムの変更は不要でした。

src/Eccube/Security/Core/Encoder/PasswordEncoder.php
            // 旧バージョン(2.11未満)からの移行を考慮
            if (empty($salt)) {
                $hash = sha1($raw.':'.$this->auth_magic);
            } else {
                $hash = $this->encodePassword($raw, $salt);
            }


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

h_tanaka
投稿日時: 2019/8/23 22:56
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1610
Re: データ移行プラグインでの会員パスワード
nyorai さん

2.4系から4系へのデータ移行も可能でした。
移行に際していくつかのエラーが発生しましたが、これは2.12系でも同様に起こりうる現象と思われます。

大変だったのは移行自体よりもバックアップファイルの作成です。
2.11系以降ではテーブルごとにcsvファイルが作成されますが、2.4系では全テーブルを1ファイルに出力されます。
このためバックアップファイル作成でメモリ不足により失敗しました。
phpMyAdminからまとめて出力して手作業でバックアップファイル形式に編集しようとしましたが、500万行を超えていたためExcelでもテキストエディタでも開くことができませんでした。
データ移行プラグインをカスタマイズしてどうにかできないかとプラグインソースを解析していたところ、2.4系の場合は全テーブルのcsvファイルをテーブルごとのcsvファイルに保存し直してから2.11系と同じ処理を行っていることがわかりました。
このため、csvファイルを初めからテーブルごとに用意してやれば2.11系と同じ流れで処理が実行されると思い、phpMyAdminから1テーブルずつcsvエクスポートして、エクスポートしたcsvファイルをまとめてtar.gzに固めてやることで、2.11系と同じ形式のバックアップファイルが作成できました。

あとの流れは、2.11系のデータ移行と同じと思われます。


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

h_tanaka
投稿日時: 2019/9/15 11:39
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1610
Re: データ移行プラグインでの会員パスワード
追記です。
2.4系では、商品の商品区分は、商品規格の販売種別に変換する処理が必要でした。


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,288名です
総投稿数は109,688件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.