質問 > その他 > SNS(MyNETS)との連携をしたいのですが、、 |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
k_kenken |
投稿日時: 2010/5/22 22:40
対応状況: −−−
|
半人前 登録日: 2010/5/17 居住地: 投稿: 19 |
SNS(MyNETS)との連携をしたいのですが、、 いつもこちらのコミュを参考にさせていただいてます。
ほぼ素人のk_kenkenと申します。環境はこちらになります。 ------------------------------------------------------------------------------------------ [EC-CUBE] 2.4.3 新規インストール [レンタルサーバ] 自宅サーバ [OS] CentOS5.4 [PHP] PHP 5.1.6 [データベース] MySQL 5.0.77 [WEBサーバ] Apache2.2.3 ------------------------------------------------------------------------------------------ 現在MyNETS1.2.0.4を使ってのSNSを立ち上げようとしておりまして、そのSNS運営に必要な維持費をEC-CUBEで構築したネットショップで賄おうとしています。 どうせならSNSとEC-CUBEを同じメールアドレス、パスワードでログインできるようにして、セッションも共有できたら良いと思いまして、いろいろと調べたりDBをいじったりしていました。 どんな形での連携かを説明させていただくと、、 ■新規登録に関して SNSとEC-CUBEの両方から新規登録は可能に。 ■セッション SNSにログインした状態 ⇒ EC-CUBEのサイトにアクセス ⇒ EC-CUBEにもログインした状態で移動できる。(逆も同じです) SNSをログアウト ⇒ EC-CUBEからもログアウト(逆も同じです) SNSにログインしていない状態 ⇒ EC-CUBEのサイトにアクセス ⇒ EC-CUBEにはログインしない状態で移動。 このような事がしたいのです。 実現には「共通のOpenIDサーバーを用意する」など、いろいろなやり方があると思うのですが、どのやり方も初心者には敷居が高く比較的簡単なやり方を模索していました。 自分の中では1回の認証手続きで、複数のOSやアプリケーションなどにアクセスできるシングルサインオンが良いのではという結論になりました。 ディレクトリやLDAPなどは、やはり敷居も高いです。 確かMyNETSが対応していなかったと思いますし。。 なので強引かと思いましたが、SNSとEC-CUBEのデータベースを1つにしてしまいました。※SNSのDBにEC-CUBEのDBのテーブルをコピーしただけです。 その後、ログインで使う(メールアドレス・パスワードが格納されている)テーブルも1つにまとめました。 ▼メールアドレス・パスワードが格納されているテーブル MyNETSは テーブルc_member_secure EC-CUBEは テーブルdtb_custormer SNSの方は極力いじりたくなかったので、テーブルc_member_secureに テーブルdtb_customerの持つ独自のカラム(住所 addr01、電話番号など)を追加してあげただけです。 とりあえずEC-CUBEのサイトからテーブルdtb_custormerにアクセス⇒ログインをする⇒会員登録内容変更ページ(data/Smarty/templates/default/frontparts/form_personal_input.tpl)で SNSのテーブルc_member_secureからデータを引っ張ってきて表示させる事だけは出来ました。※メールアドレス・パスワード以外。 それじゃあ、EC-CUBEのサイトからログインする時に、テーブルdtb_custormerじゃなく、SNSのテーブルc_member_secureを見るようにすれば良いだろうと思いましたが、ここで落とし穴が。 MyNETSは テーブルc_member_secure メールアドレスはバイナリデータで格納されています。 パスワードは暗号化され、バイナリデータで格納されています。 EC-CUBEは テーブルdtb_custormer メールアドレスはテキストデータで格納されています。 パスワードは暗号化されたテキストデータで格納されています。 当然、EC-CUBEのサイトからのログインでテーブルを dtb_customer ⇒ c_member_secure にしただけでは、メールアドレス、パスワードが違いますと認証ではじかれてしまいます。 認証の記述があると思われる MyNETSの /webapp/modules/pc/do/o_login.php と EC-CUBEの /data/class/SC_Customer.php を 見比べていますが、、、どう直したら良いのか検討がつきません。 要はEC-CUBEにログインする時に、入力されたメールアドレス・パスワードを一致するかの判断をする時に、 メールアドレスはバイナリ化して。 パスワードはMyNETSの暗号方式で暗号してバイナリ化して。 という処理をすれば良いのかと思うのですが、やり方が全然分からなくて困っています。 こちらはEC-CUBEのコミュなので、MyNETSの事が絡む質問で申し訳ないのですが、良いアドバイス、出来ればEC-CUBEのこのファイルのソースをこう変更すれば出来るのでは?と言った具体的な回答を希望しております。※スキルがないのでわがまま言ってスミマセン。。 どうかよろしくお願いいたします。 |
kishik |
投稿日時: 2010/5/24 16:52
対応状況: −−−
|
仙人 登録日: 2009/4/3 居住地: 東京 投稿: 382 |
Re: SNS(MyNETS)との連携をしたいのですが、、 完成までのソースレベルでのアドバイスを期待するのは難しいかもしれません。。
みなさんボランティアでやってらっしゃるので。 しかしながら、k_kenken様はプログラムソースを読んでいくこともできるようですし、もう少し続ければできるのではないかとお見受けします。 MyNETSもPHPプログラムのようですし、暗号化部分のロジックを真似てEC-CUBE側に実装することでできるかと。 ----- カスタマイズ承ります http://ec-cube.ec-orange.jp/ |
k_kenken |
投稿日時: 2010/5/24 22:16
対応状況: −−−
|
半人前 登録日: 2010/5/17 居住地: 投稿: 19 |
Re: SNS(MyNETS)との連携をしたいのですが、、 kishik様
書込みありがとうございます。 引用:
kishik様のおっしゃるとおりですね、申し訳ありません。 答えていただいてるだけでもありがたいのに、それ以上を望むのであれば業者の方に頼むのがスジですよね。 出来るとこまで自分でなんとか、がんばってみます。 貴重なお時間を割いていただいてのコメントありがとうございました! |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |