it-swarm.com.de

Synchronisieren Sie WordPress-Benutzerkonten über mehrere Domänen und Installationen hinweg, ohne WordPress MU zu verwenden

Wie der Titel schon sagt: Wenn Sie WordPress-Benutzerkonten über mehrere Domänen und Installationen hinweg synchronisieren müssten, ohne WordPress MU zu verwenden, wie würden Sie das tun?

6
Ashley G

(Randnotiz) In wp-config können Sie einstellen:

define ('CUSTOM_USER_TABLE', $ table_prefix.'my_users '); define ('CUSTOM_USER_META_TABLE', $ table_prefix.'my_usermeta ');

Daher würde ich davon ausgehen, dass dies speziell für den Fall funktioniert, dass Sie Ihre Benutzerdatenbank zentralisiert haben. Dies ist jedoch nicht der Fall: http://core.trac.wordpress.org/ticket/13323

(und einen Benutzernamen/ein Passwort für die entfernte Datenbank, von der die Informationen abgerufen werden sollen)

Ich denke, das ist der beste Weg: 1 db mit der User-Tabelle und der User-Meta-Tabelle.

Nacin schreibt hier, dass es mehrere Plugins gibt, die diese Funktionalität robuster zur Verfügung stellen, daher gehe ich davon aus, dass es dafür Plugins gibt. (Ich habe es noch nicht gefunden).

Ich fand: http://wordpress.org/extend/plugins/wpldap/ aber dafür müssten die verschiedenen Domains ("ldap" -Domains) synchronisiert werden/eine Vertrauensbeziehung haben. Aber wie ich gelesen habe muss es dafür auch andere Plugins geben.


Warum würde ich NICHT wie oben angegeben synchronisieren und eine zentrale Datenbank verwenden:

  1. Das Schwierige ist, dass derselbe Benutzer sein Kennwort in Installation 1 und in Installation 2 geändert haben kann. OR Ein Benutzer wird in Installation 1 unter demselben Namen wie ein anderer Benutzer in Installation 2 hinzugefügt. OR Der Benutzer hat in Installation 1 eine andere E-Mail als in Installation 2 usw.
  2. Auch wenn Sie die Synchronisierung für Einfügen/Aktualisieren/Löschen auslösen (und sich darauf verlassen, dass alle Benutzerdatenbanken konvergiert werden), gibt es möglicherweise Plugins, die die Meta-Benutzertabelle ändern und durch die Sie die Kontrolle verlieren (insbesondere die Benutzer-Metadaten verursachen viele neue Anwendungsfälle zu berücksichtigen).

Schreiben Sie Ihre eigene Synchronisierung, z. Mit Dbsync mit einigem Code ist es wegen aller Anwendungsfälle schwierig, nach allen Synchronisationsfällen zu suchen. Es gibt viele Unternehmen, die Produkte dafür haben, z. CRM-Systeme für Unternehmen, die mit vielen anderen Kontaktdatenbanken verbunden sind und eine Bereinigung und Validierung der Benutzerdaten erfordern, aber keine sind perfekt.

Möglicherweise können Sie auch zusätzliche Anforderungen wie "Nur auf Standort 1 registrieren/aktualisieren" hinzufügen und dann Standort 1 für alle weiteren Synchronisierungen verwenden. Dann wieder ... Plugins, die bestimmte Benutzermetadaten hinzufügen ... in z. Installation 5 würde ihre Änderungen nicht mit z. installation 3. Also zusätzlich brauchst du dann ein diff mit der installation 1 mit allen anderen installationen und ... wenn es unterschiede gibt ... schau ob du sie in möglichst vielen mustern abdecken kannst. Behandle die Ausnahmen dann als manuelle Aktionen.

3
edelwater

Sie können OpenID für die Benutzerauthentifizierung verwenden, z. bereitgestellt vom Plugin OpenID . Dies ist im gesamten Web unveränderlich, insbesondere für Ihre n Wordpress-Installationen.

Natürlich würden die von Wordpress festgelegten Benutzereinstellungen nicht synchronisiert.

1
Raphael

Befinden sie sich auf demselben Webserver/MySQL-Server?

Wenn sie denselben mysqlserver verwenden, können Sie die Registrierung einbinden und den Benutzer in mehr als einer Datenbank hinzufügen.

Oder Sie können eine Datei erstellen, die einen Benutzer über $ _POST/$ _ GET enthält. Stellen Sie sicher, dass sie mit einem Token oder etwas anderem geschützt ist.

Das würde ich versuchen.

0
Horttcore

Es gibt jetzt ein Plugin, das diesen Zweck erfüllt.

User Session Synchronizer ermöglicht es Ihnen, den Benutzer von einem WordPress zum anderen eingeloggt zu halten indem Sie Benutzerdaten und Cookie-Sitzung basierend auf einer verifizierten E-Mail synchronisieren.

Die Benutzer-E-Mail wird verschlüsselt basierend auf der aktuellen Benutzer-IP und einem geheimen Schlüssel, der von den synchronisierten WordPress-Installationen gemeinsam genutzt wird.

Plugin

https://wordpress.org/plugins/user-session-synchronizer/

Repo

https://github.com/rafasashi/user-session-synchronizer

Ressourcen

http://subinsb.com/set-same-cookie-on-different-domains

0
RafaSashi