Integration von WordPress MultiSite Active Directory und Datenschutz auf der Website

19

Hier ist die Übersicht über das Setup:

  • Ich habe eine Multisite-Installation von WordPress 3.4.2.
  • Ich habe das Active Directory-Authentifizierungsintegrations- Plugin 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 , sodass 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-Installation mit mehreren Standorten auszuweiten:

  • Bob ist Mitglied der Gruppe "IT Support" in AD.
  • Bob ist auch Mitglied der Gruppe "Domain Users" in AD.
  • Die Hauptseite (www.meinewebsite.com) ist gesperrt, " Domain Users" damit sich nur Mitglieder anmelden können.
  • Die Unterseite (www.meinesite.com/itsupport) ist gesperrt, " IT Support" damit sich nur 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 Bob auf www.meinesite.com angemeldet ist, klickt er auf den Link, um zu www.meinesite.com/itsupport zu gelangen, und erhält die Fehlermeldung, dass er kein Mitglied der Website ist.
    • Es scheint, dass für diese Unterseite kein Benutzereintrag in der WordPress-Datenbank erstellt wurde.
  • Bob meldet sich von www.mysite.com ab.
  • Nachdem Bob abgemeldet ist, wechselt er 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 WordPress-Datenbank 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 Plug-in 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.

Phil Erb
quelle
Es klingt wie ein Plugin / Edge-Use-Case-Konflikt. Haben Sie beim Plugin-Entwickler nachgefragt, ob es externe Benutzerdatenbanken unterstützt?
Damien
Damien - Ich habe Support-Artikel für beide Plugins in den Foren protokolliert. Ich sehe nur nach, ob ich die Köpfe derer heraussuchen kann, die sich zuvor mit etwas Ähnlichem befasst haben. Ich glaube nicht, dass das Datenschutz-Plugin wirklich etwas über externe Benutzerdatenbanken wissen muss, es muss nur das AD-Plugin seine Sache tun lassen und den Benutzer zur internen WordPress-Datenbank hinzufügen. Leider scheint das Datenschutz-Plugin dem im Weg zu stehen.
Phil Erb
2
Wie sind Sie damit umgegangen? Ich recherchiere eine ähnliche Implementierung für eine Schule.
Orionrush
1
Es hört sich fast so an, als würde AD nur die Gruppe zurückgeben, die für diesen Standort zugewiesen ist - wie in "Hey, dies ist der IT-Standort, also werde ich nur überprüfen, ob es sich bei dem angemeldeten Konto um die IT-Gruppe handelt, und das ignorieren andere Gruppen. " Vielleicht gibt es eine Möglichkeit, AD zu veranlassen, sich an alle Gruppen zu erinnern , zu denen ein Benutzer gehört.
Phatskat
1
Wie kann eine 4-jährige Frage ganz oben auf der Liste der unbeantworteten Fragen stehen? Dies ist nicht mehr relevant, da beide verknüpften Plugins veraltet sind.
Athoxx

Antworten:

1

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

/programming//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 beider WordPress-Installationen hinzu:

define( 'CUSTOM_USER_TABLE', 'mysite_users );
define( 'CUSTOM_USER_META_TABLE', 'mysite_usermeta' );
Fleuv
quelle
0

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 Plugin, 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.

Bleib ruhig
quelle