web-dev-qa-db-ja.com

2つのWordPress間のSSOシステムが異なるサーバーにインストールされている

これは本質的にこの質問の繰り返しです、それはまだ答えられていません。

私は、異なるデータベースを使用している異なるサーバー上にある2つの別々のWordPressインストール間にSSOシステムを作成しようとしています。メインサイトには、30万人を超えるユーザーを含むusersテーブルを含む完全なデータベースがあります。 usersテーブルのサイズのため、2人目のサイトにそれらのそれぞれを複製したり、ログイン時に各ユーザーがデータベースに作成される従来のSSOシステムを実行したりすることは望ましくありません。理想的には、メインサイトのusersテーブルを参照し、2番目のサイトでも同じユーザーを使いたいと思います。

これまでのところ、私はwg_remote_post()を使用して2番目のサイトにユーザーオブジェクトを送信しながら、pluggable.php関数をオーバーライドし、投稿されたユーザーオブジェクトで$ current_userグローバルを設定することを試みました。しかし、WP_Userオブジェクトで通常利用可能なメソッドは投稿されたオブジェクトで利用できないため、これはうまくいきません。$ user-> exists()のようなメソッドが致命的なエラーになるのです。中古。

私はCUSTOM_USER_TABLEソリューションを知っていますが、サイトは別々のデータベースを持つ別々のサーバー上にあるため、この例では明らかに機能しません。

TL; DR:SSOが必要です。別々のサーバー助けて。

1
Hugh Lashbrooke

私よりはるかに密接な関係にある人々をたくさん検索して尋ねたところ、これは不可能であると結論しました。これは主に2つの同時DB接続が必要だからです。

結局、私のSSOソリューションは、メインサイトからのユーザーデータを使ってリモートサイトにユーザーを作成する、より伝統的なSSOシステムを構築することでした。また、プロファイルが常に最新の状態に保たれるように、ログインごとにそれらを更新します。

0
Hugh Lashbrooke

それは可能だと思います。実際、私は自分でやろうとしています。私はWPMUdev.orgの最近の優れた加入者です、そして、あなたはこの主題に関して彼らのサポートフォーラムでいくつかのトピックを持っています。

Wordpress Multisiteをインストールすると最初からそのオプションにアクセスできますが、異なるドメインがある場合はそれぞれにネットワークを作成してからMulti Domainなどのプラグインで「接続」する必要があります ここで説明されているように

私はこれを正しい方法で設定することができなかったので、その間に私は ユーザー同期 プラグインを試していました。 1つのブログに登録されている、それは他のブログにも登録されています。欠点:あなたはまだあなたが訪問する各サイトにログオンする必要があります。

最も確実な解決策を追加したいのですが、それが良い出発点になるでしょう。

0
javipas