web-dev-qa-db-ja.com

シングルサインオンで、BuddyPressサイトのネットワーク、つまりWordPress MUを使用することは可能ですか?

私たちは、共通のデザイン、共通のテーマ、そして共通のコンテンツを共有するBuddyPressサイトのネットワークを作成することを目指していますが、すべてのネットワークサイトで同じユーザーベースを使用します。

各ユーザーはネットワークサイトに「所属」します。そのため、人々はロンドン、ニューヨーク、シドニーの各エディションを閲覧できますが、次のいずれかのサイトに所属する必要があります。

  • ldn.mainsite.com
  • nyc.mainsite.com
  • syd.mainsite.com

各サブドメインベースのBuddyPressサイトは、サイトの拠点となる場所に応じて異なるコンテンツを提供します。ネットワークにログインすると、すべてのサイトにまたがってログインしていることになります(SSO)。

WordPress、BuddyPress、WordPress MUのどちらでも可能ですか、それとも既存のコードに加えてかなりの作業が必要になりますか? (または、他の何かの上から最初からやり直すほうがよいでしょうか。)

1
abitgone

BuddyPressはWordPress Multisiteセットアップと互換性があります。設定する方法はいくつかあります。

デフォルトでは、BuddyPressのデータはネットワーク全体に保存されています。一般的に、それは、サイトのネットワーク内で、BuddyPressの機能/コンテンツ専用のサイトが1つだけであることを意味します - あなたはこれをより大きなブログネットワーク内の「コミュニティ」サイトと考えるかもしれません。しかし、これはまさにあなたが探しているもののようには思えません。他にもいくつかの選択肢があります。

最初のオプションはBP_ENABLE_MULTIBLOGと呼ばれるBPフラグです。有効にすると、BuddyPressのコンテンツは、インストール上のどのサイト(ldn.example.com、nyc.example.comなど)でも表示できます。ただし、コンテンツはインストール全体の方法で保存されます。つまり、さまざまなサイトでグループ、プロファイルなどを表示できますが、それらはすべて同じグループ、プロファイルなどになりますBP_ENABLE_MULTIBLOGの詳細については、BuddyPress Codexを参照してください。最近、ユースケースを詳しく説明しました(誤解されがちな設定です)。 http://codex.buddypress.org/bp_enable_multiblog /

ロンドンのグループ/プロファイル/ etcがNYCのグループ/プロファイル/ etcとは別に表示されるようにサイトごとにBPコンテンツを持ちたい場合などがあります。もう1つの選択肢はBP Multi-Networkです。これはBuddyPressのかなり新しい機能(BP 1.5以降)であり、いくつかの追加のネットワークプラグイン(Networks + のような複数のネットワークを作成するもの)が必要です。http://wpebooks.com/networks/ 、これらのネットワーク内でBP Multi Network機能を有効にするためのもの https://wordpress.org/extend/plugins/bp-multi-network/ )。この機能の詳細については、こちらを参照してください。 http://wpmututorials.com/news/new-features/multiple-buddypress-social-networks/

あなたがもう少し洗練されたものを欲しがっていて、いくつかのBPコンテンツ(例えばプロフィールデータや友情)がサイト間で共有されているけれども他のものが(グループのように)サイトに依存しているなら、それはできる、しかし公正カスタマイズ量。今説明した設定は、BP_ENABLE_MULTIBLOGとグループメタデータの賢明な使用(特定のグループに 'London'などのタグを付けるなど)を組み合わせることで実現できます。これは、このアイデアをどこかに持っていくためのプラグインです。 https://wordpress.org/extend/plugins/buddypress-group-tags/

4
Boone Gorges

あなたが説明している問題は実際にはWordpress MU(私は今Wordpress Multisiteと呼ばれていると思う)が処理するために設計されたものです。つまり、簡単な答えは次のとおりです。すべてがサブドメインにある限り、Wordpress Multisiteを使用すればSSOに問題はありません。

長い答えのために読み続けます:

Wordpress Multisiteでは、すべてのユーザー情報は単一のテーブル(wp_users)に保存されますが、投稿、コメント、タグなどのサイト固有のデータにはサイト/ブログID(2はサイト/ブログのwp_2_postsなど)がプレフィックスとして付けられます。 id).

ログインセッションは、同じルートドメインを持つサイト間で共有されます(つまり、ldn.mainsite、nyc.mainsite、およびsyd.mainsiteはすべてログインセッションを共有します)。つまり、これらのサイトのいずれかにサインインするユーザーは、セッションを共有できます。再度サインインする必要なく、同じサブドメイン上の別のサイトに移動する(最高でもSSO)。

あなたのネットワークに別のルートドメインを使用しているサイトがあるならば、ここにキャッチがあります、そしてそれでも(それはまだwp_usersテーブルを使用するので)ユーザーログイン情報(username/password)は共有されますが共有されているため、ユーザーは再度ログインする必要があります。

「所属」機能に関しては、これがどういう意味なのか正確にはわかりませんが、ワードプレスはユーザーがネットワーク上のどのサイトに明示的にログインしたかを追跡し続けると考えています。そして、彼らがサイトにログインしている場合、それらはそのサイトのsite admin> userリストおよびnetwork admin> userリストの下に表示されます。

0
drebabels