質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

EC-CUBE

EC-CUBEは、主に日本国内で開発されているECコンテンツ管理システムです。ロックオン社のECKitを元にしてオープンソース化され、商品管理・受注管理・顧客管理・売上集計などECに特化した様々な機能を備えています。

Q&A

3回答

5561閲覧

同一ドメイン、同一サーバ上に設置されたWPとEC-CUBEを、1度のログインで互いに会員が行き来できるようにしたい。

t8opm1mu

総合スコア10

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

EC-CUBE

EC-CUBEは、主に日本国内で開発されているECコンテンツ管理システムです。ロックオン社のECKitを元にしてオープンソース化され、商品管理・受注管理・顧客管理・売上集計などECに特化した様々な機能を備えています。

0グッド

1クリップ

投稿2016/05/20 01:45

###前提・実現したいこと

同一ドメイン、同一サーバ上に設置されたWPとEC-CUBEを、1度のログインで互いに会員が行き来できるようにしたい。

1.WordPress会員サイト
URL例 http://hogehoge.com/
WPのバージョン 4.5.2
SimpleMembershipという会員制サイトプラグイン使用。会員フォーラム。

2.EC-CUBE(2.13.5)
会員制ショッピングサイト。1と同じサーバ内に設置。
URL例 http://hogehoge.com/store/

同じメンバーID及びパスワードを両方に登録し、
1のWPフォーラムにログインした状態で2のEC-CUBEに遷移すると、
会員ログインを再度することなくEC-CUBEの方にもログインされた状態にしたい。
(逆も同様)

###発生している問題・エラーメッセージ

現在はそれぞれ別々に2回ログインが必要。
会員の手間が非常に多いため、ログインを一度にしたい。

###試したこと

下記を試そうと思っている。
EC-CUBEにWPを組み込むプラグイン
http://www.ec-cube.net/products/detail.php?product_id=276

近いことはできると思うが、EC-CUBEを主体にするのではなく、あくまでもWPの方を主体にしたい。

補足

当方php、rubyは初心者ですが勉強中で、ある程度は読めます。

上記を実現させるのに、どういう方向から勉強をすればいいか
アドバイスをいただけないでしょうか。

漠然と、会員DBを共有してそれぞれのシステムから同じDBを読みに行けばいいのではないかと思っていますが、
勉強不足のため具体的にどのように調べればいいかがわかりません。

自力でどうしてもダメだったら、費用をかけて外注することも視野に入れていますが、
外注をまるなげするのではなく、できるだけ自分のスキルにして
他のカートや他のCMSなどにも応用が効くようにしたいです。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

下記サイトに掲示されているコードは、おそらく例として挙げられているため「全員同じユーザとしてログイン」というものですが、ここのユーザー名をEC-CUBEの認証システムから持ってきて、ログインしている状態のみここでの自動ログインをするようにすればなんとなくいけそうな気がします。

EC-CUBEは不案内なのでどう呼び出すかまではわかりませんが、EC-CUBE外のPHPからEC-CUBEのログイン状態を調べる方法などは探せば出てくると思います。

【wordpressへ自動ログイン - plug 'em in WordPressのプラグイン紹介 plug-em in】
http://plug-em.in/tutorial/wordpressへ自動ログイン/

PHP

1if ( !function_exists( 'auto_login' ) ) { 2 function auto_login() { 3 $user_login = 'login_username'; 4 $user = get_userdatabylogin( $user_login ); 5 $user_id = $user->ID; 6 wp_set_current_user( $user_id, $user_login ); 7 wp_set_auth_cookie( $user_id); 8 do_action( 'wp_signon', $user_login ); 9 } 10} 11add_action( 'set_current_user', 'auto_login' );

このコードを書く場所は、functions.phpに記述するか、プラグインとして作成することになります。本体のアップデートに影響はされませんが、使用しているWordPressの関数やフックがアップデート時に変化するかどうかについては逐次確認することが必要になります。(認証周りはそこまで派手に変更しないものですが可能性はゼロではない)
外注で頼んだとしてもアップデート時のメンテナンス(機能チェック及び修正)までやってくれるかは契約次第(保守契約などをその部分まで対応させるかどうかなど)だと思います。

tanatさんの書かれているように、シングルサインオン系の更新の安定したプラグインがあればそれを利用するのが保守とセキュリティの観点からよいと思います。認証の手間を減らすということはセキュリティリスクにつながることなので、慎重にご検討ください。

投稿2016/05/20 05:00

kei344

総合スコア69364

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

エンジニア的には楽しそうな話題ですが、
ビジネス的にはECサイトのログイン関係はセキュリティに直結する部分なので、
学習を目的として良く分からない状態で手を加えるのは正直なところリスクが高すぎるかなと思います。
個人情報の漏洩やアカウント乗っ取りが発生した場合、一発で事業が死ぬ可能性すらあります。
コスト的に許されるのであれば、瑕疵担保を明確にしたうえで外注するのがベストな内容だと思います。

もし私が実装するとしたら、
別アプリケーションとしてAPIを持つ認証サーバを作って(wordpressとEC-CUBEの修正は最低限にしたいので)、
そこに認証情報だけ統一して、
WordpressとEC-CUBEでは
プラグインで認証部分をローカルのDBじゃなくてAPI経由で確認しに行く
という様な流れでしょうか。(他にもいい方法、設計はあると思います。)

調べる流れとしては
0.シングルサインオンをキーワードにして要求を満たせるプラグインが無いか探してみる→あったらセキュリティ的に問題無いか確認して採用する。確認部分は外注する方が良いかも。

↓なかったら

1.それぞれのプラグインの作成方法の学習
直接WordpressとEC-CUBEのソースをいじってしまうとその後のアップデートに一切対応出来なくなってしまうので、プラグインという形で実装してアップデートに対応出来るようにする必要があります。
2.それぞれのプラグイン内でセッション管理について実装してみる
3.認証サーバの設計と実装
4.認証部分を認証サーバ経由に置き換えるようなプラグインの開発
という様な感じでしょうか。

投稿2016/05/20 03:54

tanat

総合スコア18709

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

t8opm1mu

2016/05/20 04:12

tanat様 コメント、アドバイス本当にありがとうございます!とてもためになりました。 なるほど、確かにセキュリティリスクという観点からするとかなり慎重に考えなければ鳴らない話ですね… 取り急ぎ、頂いたアドバイス通りに1つずつ調べていきたいと思います。 こちらの事情をいろいろと考慮していただき、心よりお礼申し上げます。 重ね重ねありがとうございました。
guest

0

ドメインが同じなら、同一クッキーをもっているため、そのログイン情報を共有してあげればいいだけじゃないですか?

投稿2016/05/20 05:55

koufukurairai

総合スコア64

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問