Ich möchte auf einem Projekt (einer Domain) zwei verschiedene Skripte installieren,
z.B. ein Forum und ein Blog, mit jeweils eigener SQL-DB (2 Datenbanken).
Der User kann/muss sich jeweils registrieren.
Wie kann man das gestalten, daß sich der User nur einmal registrieren und anmelden muss, um beide Anwendungen nutzen zu können?
Schau Dir an, wie die beiden Scripte die User-Daten abspeichern und arbeite die Scripte so um, dass die Userdaten automatisch in beiden Datenbanken abgelegt werden. Ausserdem mußt Du u.U. das Session-Management etwas zweigleisig fahren, so dass beide Applikationen mitbekommen, wann wer ein- ode r ausgeloggt ist.
Geht es am Beispiel von Forum und Blog vielleicht auch wie folgt?
Forum:
User-/Login-Daten in DB1
Forum-Daten in DB1 Blog:
User-/Login-Daten in DB1
Blog-Daten in DB2
Im Blog-Skript hat man für die jeweiligen Abfragen zwei DBs hinterlegt...
Oder ist das zu einfach? Insbesondere in Hinblick auf Session-Management...
Bei der Anmeldung schreibst Du einfach in beide Datenbanken - wobei vorab, wenn beide DB's auf dem gleichen Server liegen, macht es eigentlich keinen Sinn die aufzuteilen.
Ansonsten das Rechte Management bzw. Authentifizierung machste global, weil entweder ist er eingelockt oder eben nicht.
Am besten entscheidest Du Dich für eine DB die die tatsächlichen Userdaten hat, sprich die ID und bei der anderen packst Du einfach das ganze mit der zusätzlichen Spalte z.B. user_id mit rein - Vorteil, sollte mal der Server haken und die Anmeldung nicht durchgehen, bzw. nur die Anmeldung fürs Forum, dann hast Du nachher nicht das Geschiss an den Primary Keys rumpfuschen zu müssen. Und in der Session musste auch immer nur die richtige ID mitgeben. Login lässt Du halt nur über die ForenDB laufen - oder andersrum. Verzwickt ist das nicht, Du musst Dich halt nur entscheiden wo die Unique Userdaten liegen.