バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > wordpressとの連携について

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
toru
投稿日時: 2013/12/27 17:04
対応状況: −−−
新米
登録日: 2013/12/27
居住地:
投稿: 3
wordpressとの連携について
はじめまして。
この度、現在公開しているwebサービス(wordpress利用)にECサイトの追加を考えています。
その際に、ec-cubeを利用できるのではないかと思っているのですが、
上記サイトにて、既にユーザー登録機能を装備しています。
従って、ec-cubeをメインにした際にも、エンドユーザーのパスワードの変更(再発行)なしにデータ移行したいのですが、何か良い方法はありますでしょうか。
ちなみに、現在のwordpressのバージョンは最新版の3.8を使用しており、
暗号化方法はwordpressの暗号方式であるmd5という方法でハッシュ化しています。

どなたか、ご存知の方がいましたら、ご教授いただけないでしょうか。

よろしくお願い致します。
snitta
投稿日時: 2013/12/28 7:36
対応状況: −−−
一人前
登録日: 2013/10/3
居住地: 島根県
投稿: 100
Re: wordpressとの連携について
EC-CUBE の認証処理を Wordpress 方式でオーバーライドしてしまうのが簡単そうです。
Wordpress 3.8 及び EC-CUBE 2.13.1 の環境における作業手順を作ってみましたので、よろしければお試しくださいませ。

1. ユーザー情報を Wordpress から EC-CUBE へエクスポートする。
dtb_customer.password には wp_users.pass をそのまま使用する。

2. http://www.openwall.com/phpass/ から phpass 0.3 をダウンロードし、PasswordHash.php をオートローダーで読み込める位置にコピーする(例えば: data/module/PasswordHash.php)。

3. data/class_extends/SC_Utils_Ex.php を以下のように編集する(元ファイルのコメントは省略しています)。
<?php
require_once CLASS_REALDIR . 'util/SC_Utils.php';

class SC_Utils_Ex extends SC_Utils
{
    public function sfGetHashString($str, $salt)
    {
        $hasher = new PasswordHash(8, true);
        return $hasher->HashPassword($str);
    }

    public function sfIsMatchHashPassword($pass, $hashpass, $salt)
    {
        $hasher = new PasswordHash(8, true);
        return $hasher->CheckPassword($pass, $hashpass);
    }
}


これで Wordpress のパスワードでログインできると思います。
※ユーザー登録とログイン以外は試していませんのでご注意ください。


----------------
Seiji Nitta
zenith6@gmail.com
https://github.com/zenith6/

toru
投稿日時: 2013/12/30 11:36
対応状況: −−−
新米
登録日: 2013/12/27
居住地:
投稿: 3
Re: wordpressとの連携について
snitta様

ご連絡ありがとうございます。
また、ご回答もいただき、ありがとうございます。
早速実装してみたいと思います。

なお、当方としては、ログインさえできれば他の機能は問題なく使用できると想定しておりますが、
オーバーロードすることに対する懸念点等、思い当たることがございましたらご連絡いただけないでしょうか。
snitta
投稿日時: 2013/12/31 9:43
対応状況: −−−
一人前
登録日: 2013/10/3
居住地: 島根県
投稿: 100
Re: wordpressとの連携について
> なお、当方としては、ログインさえできれば他の機能は問題なく使用できると想定しておりますが、
> オーバーロードすることに対する懸念点等、思い当たることがございましたらご連絡いただけないでしょうか。

私も運用上は問題なさそうだと思います。
EC-CUBE をバージョンアップする際は、認証回りの変更が入ってないかを確認する必要がありますね。
SC_Customer, SC_Helper_Customer, SC_Utils の変更と、念のために利用個所(*1)を追跡していれば十分かなと思います。

*1. 2.13.1 の利用個所はこれぐらい?
$ find data -name '*.php' -print0 | xargs -0 grep -e 'sfIsMatchHashPassword' -e 'sfGetHashString' -n | cut -c -100 | sort
data/class/SC_Customer.php:113:        if (SC_Utils_Ex::sfIsMatchHashPassword($pass, $data['password
data/class/SC_Customer.php:52:        if (SC_Utils_Ex::sfIsMatchHashPassword($pass, $data['password'
data/class/api/SC_Api_Operation.php:71:        if (SC_Utils_Ex::sfIsMatchHashPassword($member_passwo
data/class/helper/SC_Helper_Customer.php:75:            $arrData['password'] = SC_Utils_Ex::sfGetHas
data/class/helper/SC_Helper_Customer.php:86:                $arrData['reminder_answer'] = SC_Utils_E
data/class/helper/SC_Helper_Customer.php:94:                $arrData['reminder_answer'] = SC_Utils_E
data/class/pages/admin/LC_Page_Admin_Index.php:149:        if (SC_Utils_Ex::sfIsMatchHashPassword($p
data/class/pages/admin/system/LC_Page_Admin_System_Input.php:327:        $sqlVal['password']    = SC
data/class/pages/admin/system/LC_Page_Admin_System_Input.php:363:            $sqlVal['password'] = S
data/class/pages/forgot/LC_Page_Forgot.php:216:            } elseif (SC_Utils_Ex::sfIsMatchHashPassw
data/class/util/SC_Utils.php:1667:    public function sfGetHashString($str, $salt)
data/class/util/SC_Utils.php:1690:    public function sfIsMatchHashPassword($pass, $hashpass, $salt)
data/class/util/SC_Utils.php:1703:                    $hash = SC_Utils_Ex::sfGetHashString($pass, $s


----------------
Seiji Nitta
zenith6@gmail.com
https://github.com/zenith6/

toru
投稿日時: 2013/12/31 17:06
対応状況: 解決済
新米
登録日: 2013/12/27
居住地:
投稿: 3
Re: wordpressとの連携について
ありがとうございました。
いろいろと試してみたいと思います。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
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.