it-swarm.com.de

WordPress Integration von MultiSite Active Directory und Datenschutz auf der Website

Hier ist die Übersicht über das Setup:

  • Ich habe eine Multisite-Installation von WordPress 3.4.2.
  • Ich habe das Plugin Active Directory Authentication Integration installiert, damit Benutzer ihre AD-Anmeldeinformationen verwenden können. Dies ermöglicht auch das Zuweisen von AD-Gruppen zu jedem Standort, sodass die Standortadministratoren keine Berechtigungen manuell zuweisen müssen.
  • Ich habe das Network Privacy Plugin installiert, so dass bestimmte Websites angemeldet sein müssen, bevor Sie Inhalte sehen können. Anonyme Benutzer sehen nur die Anmeldeseite.

In vielerlei Hinsicht funktioniert dieses Setup. Ich habe jedoch ein Problem, das mich davon abhält, es auf unsere primäre WordPress Multi-Site-Installation auszuweiten:

  • Bob ist Mitglied der Gruppe "IT Support" in AD.
  • Bob ist auch Mitglied der Gruppe "Domain Users" in AD.
  • Die Hauptseite (www.meinesite.com) ist gesperrt, damit sich nur "Domain Users" - Mitglieder anmelden können.
  • Die Unterseite (www.meinesite.com/itsupport) ist gesperrt, damit sich nur "IT Support" -Mitglieder anmelden können.
  • Bob besucht www.meinesite.com und wird zur Authentifizierung aufgefordert. Er gibt seine AD-Anmeldeinformationen ein und darf die Site betreten.
  • Nachdem er auf www.meinesite.com eingeloggt ist, klickt Bob auf den Link, um zu www.meinesite.com/itsupport zu gelangen, und erhält die Fehlermeldung, dass er kein Mitglied der Site ist.
    • Es scheint, dass in der Datenbank WordPress für diese Unterseite kein Benutzereintrag erstellt wurde.
  • Bob meldet sich von www.mysite.com ab.
  • Nachdem er sich abgemeldet hat, wechselt Bob direkt zu www.meinesite.com/itsupport und wird zur Authentifizierung aufgefordert. Er gibt seine AD-Anmeldeinformationen ein und darf die Site betreten.
    • Es scheint, dass der Benutzereintrag in der Datenbank WordPress zu diesem Zeitpunkt für diese Unterseite erstellt wurde.
  • Wenn er sich jetzt abmeldet und sich bei www.mysite.com anmeldet, kann er problemlos zur itsupport-Site wechseln.

Wenn ich die Benutzereinträge von Bob für beide Sites lösche und das Plugin für den Netzwerkdatenschutz deaktiviere, kann Bob sich bei www.meinesite.com anmelden und dann die Support-Site aufrufen. Wenn ich jedoch seine Benutzereingaben lösche und das Netzwerk-Datenschutz-Plugin wieder aktiviere, tritt das Problem erneut auf.

Ich hatte das gleiche Problem mit einem anderen Datenschutz-Plugin, obwohl ich mich nicht erinnern kann, welches.

Wenn Sie das Problem erkennen können oder wenn Sie etwas Ähnliches eingerichtet haben, bin ich bereit, alles zu versuchen, solange ich die grundlegenden Kriterien für die Verwendung von AD-Gruppen erfülle und in der Lage bin, bestimmte Websites zu sperren.

19
Phil Erb

Versuchen Sie einen anderen Ansatz. Anstatt Plugins zu verwenden, empfehle ich, wordpress ein wenig zu ändern, wie in der folgenden Antwort beschrieben.

https://stackoverflow.com/a/39195424/3157038

In Ihrem Fall sollten Sie die wordpress -Installationen folgendermaßen einrichten:

  • mysite.com
    • root: */domains/mysite.com/public_html
    • db: user_mysite
    • tabellenpräfix: root_
  • mysite.com/itsupport
    • root: */domains/mysite.com/public_html/itsupport
    • db: user_mysite
    • tabellenpräfix: itsupport_

fügen Sie zusätzlich zu der Konfiguration, die in der Antwort angegeben ist, auf die ich verlinkt habe, Folgendes zu den wp-config-Dateien der beiden wordpress -Installationen hinzu:

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

Wenn Sie eine Installation mit mehreren Standorten haben, sollten Sie Ihren IT Tech Support-Standort auf eine Unterdomäne umstellen.

Möglicherweise tritt ein Cookie-Login-Konflikt auf. Da es sich um das Stammverzeichnis der Domäne handelt, ist es für beide Sites gleich. Wenn Sie also support.example.com einrichten, sollte dies klarer sein als example.com/support

Versuchen Sie in diesem Fall ein anderes Plug-in, um den Inhalt auf den Benutzer zu beschränken, und führen Sie es nicht als Untersite aus, es sei denn, ich habe ein vollständiges Missverständnis.

0
keepkalm