2009-08-25 18 views
0

Ich bin verpflichtet, SSO zwischen Liferay und einer Reihe von PHP-basierten Systemen zu implementieren. Die verwendete Datenbank ist MySQL.Implementieren von SSO und Datensynchronisierung

CAS authentifiziert sich über die Liferay-Benutzerdatenbank sowie über die Benutzerdatenbank von System A und System B. Der Grund, warum jedes System eine andere Benutzerdatenbank verwendet, liegt darin, dass sie von verschiedenen Teams, möglicherweise verschiedenen Herstellern, entwickelt wurden.

Es liegt an mir, die Master-Tabelle zu bestimmen, die verwendet wird, um alle Anmeldeinformationen und Berechtigungen für alle Systeme zu speichern.

Meine Frage ist, wie synchronisiere ich Daten zwischen Tabellen in verschiedenen Datenbanken? Wenn ein Datensatz in systemA.userdb eingefügt wird, wird er automatisch in die master.table eingefügt (die wichtigste Spalte ist der Benutzername und das Passwort). Also aktualisieren und löschen.

Muss ich Trigger verwenden, oder gibt es eine Software dafür? Jeder Rat zu meiner SSO-Implementierung wird ebenfalls geschätzt.

Antwort

0

Ich schlage vor, eine Sicht für jede Anwendung zu erstellen, die die Benutzertabelle in das Format bringt, das sie erwarten.

Wenn Sie aus irgendeinem Grund keine Aussicht bekommen, um das zu tun, was Sie brauchen, dann wäre die nächstbeste Option ein Auslöser.

Wenn die Anwendungen verschiedene mysql-Server verwenden, kombinieren Sie eine der beiden oben genannten Methoden mit föderierten Tabellen.