WordPress MultiSite Active Directoryの統合とサイトのプライバシー


19

セットアップの概要は次のとおりです。

  • WordPress 3.4.2のマルチサイトインストールがあります。
  • 私はインストールしました Active Directory Authentication Integrationプラグインをて、ユーザーが自分のAD資格情報を使用できるようにしました。これにより、各サイトにADグループを割り当てることができるため、サイト管理者が手動でアクセス許可を割り当てる必要がなくなります。
  • ネットワークプライバシープラグインをインストールしたため、コンテンツを表示するには特定のサイトにログインする必要があります。匿名ユーザーにはログインページのみが表示されます。

多くの点で、このセットアップは機能します。しかし、私は1つの問題を抱えており、これが私たちのプライマリWordPressマルチサイトインストールにこれを展開するのを妨げています:

  • ボブはADの「ITサポート」グループのメンバーです。
  • ボブは、ADの「ドメインユーザー」グループのメンバーでもあります。
  • メインサイト(www.mysite.com)は、「Domain Users」メンバーがログインています。
  • サブサイト(www.mysite.com/itsupport)は、「IT Support」メンバーがログインています。
  • ボブはwww.mysite.comにアクセスし、認証を求められます。彼は自分のAD資格情報を入力し、サイトに入れます。
  • www.mysite.comにログインしたので、ボブはリンクをクリックしてwww.mysite.com/itsupportにアクセスし、サイトのメンバーではないというエラーを受け取ります。
    • このサブサイトのWordPressデータベースにはユーザーエントリが作成されていないようです。
  • ボブはwww.mysite.comからログアウトします。
  • ログアウトしたので、ボブは直接www.mysite.com/itsupportにアクセスし、認証を求められます。彼は自分のAD資格情報を入力し、サイトに入れます。
    • この時点で、このサブサイトに対してWordPressデータベースのユーザーエントリが作成されているようです。
  • 彼がログアウトしてwww.mysite.comにログインすると、問題なくitsupportサイトに移動できます。

両方のサイトのボブのユーザーエントリを削除し、ネットワークプライバシープラグインを無効にすると、ボブはwww.mysite.comにログインし、itsupportサイトに移動できます。しかし、彼のユーザーエントリを削除し、ネットワークプライバシープラグインを再度有効にすると、問題が再発します。

他のプライバシープラグインでも同じ問題が発生しましたが、どのプラグインを思い出せません。

問題を特定できる場合、または類似の設定を行っている場合は、ADグループを使用して特定のサイトをロックダウンできるという基本的な基準を満たす限り、何でも試してみます。


プラグイン/エッジのユースケースの競合のように聞こえます。プラグイン開発者が外部ユーザーデータベースをサポートしているかどうかを確認しましたか?
ダミアン

Damien-両方のプラグインのサポート項目をフォーラムに記録しました。似たようなものに以前に取り組んだことがある人たちの頭脳を選ぶことができるかどうかだけを見ています。プライバシープラグインが外部ユーザーデータベースについて本当に知る必要があるとは思いません。ADプラグインにそのことをさせ、ユーザーを内部WordPressデータベースに追加するだけです。残念ながら、プライバシープラグインはそれを妨げているようです。
フィルアーブ

2
どうやってこれに取り掛かりましたか?学校の同様の実装を調査しています。
オリオンラッシュ

1
ADはそのサイトに割り当てられたグループのみを返しているように思えます-「ねえ、これはITサイトです。ですから、ログインしているアカウントがITグループであることを確認し、他のグループ。」ユーザーが属するすべてのグループをADに記憶させる方法があるかどうかを確認します。
-phatskat

1
4歳の質問を未回答の一番上にするにはどうすればよいですか?リンクされた両方のプラグインは非推奨であるため、これはもう関係ありません。
Athoxx

回答:


1

別のアプローチを試してください。プラグインを使用する代わりに、次の回答で説明するように、wordpressを少し変更することをお勧めします。

/programming//a/39195424/3157038

そのため、次のようにワードプレスのインストールをセットアップする必要があります。

  • mysite.com
    • ルート:* / domains / mysite.com / public_html
    • db:user_mysite
    • テーブルのプレフィックス:root_
  • mysite.com/itsupport
    • ルート:* / domains / mysite.com / public_html / itsupport
    • db:user_mysite
    • テーブルのプレフィックス:itsupport_

私がリンクした回答で指定された構成に加えて、両方のワードプレスインストールのwp-configファイルに次を追加します:

define( 'CUSTOM_USER_TABLE', 'mysite_users );
define( 'CUSTOM_USER_META_TABLE', 'mysite_usermeta' );

0

マルチサイトインストールがある場合は、ITテクニカルサポートサイトをサブドメインに切り替える必要があります。

Cookieログインの不一致が発生している可能性があります。ドメインのルートに設定されているため、両方のサイトで同じです。したがって、support.example.comをセットアップすると、example.com / supportよりも明確になります。

私が完全に誤解していない限り、その場合、別のプラグインを試してコンテンツをユーザーに制限し、これをサブサイトとして実行しないでください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.