2011-01-05 3 views
3

Wie kann ich ein einzelnes Login und Profil für ein Netzwerk von drei Standorten mit Django erstellen?Wie kann ich ein einzelnes Login und Profil für ein Netzwerk aus drei Standorten mit Django erstellen?

Ich habe ein Netzwerk von drei Standorten und anstatt den Benutzer ein Profil an jeder der drei Websites erstellen, möchte ich den Benutzer nur einmal registrieren müssen, und dann in der Lage sein, alle drei zu verwenden.

Gibt es eine elegante Lösung für dieses Problem?

+0

Wie arbeiten Sie derzeit auf drei Websites? Sind sie * völlig unabhängig */* haben eine ähnliche Struktur */* teilen auch andere Daten *? Versuchen Sie etwas wie stackoverflow zu erreichen? – crodjer

+0

Jede Site ist grundsätzlich unabhängig, obwohl sie am Ende einige Daten teilen könnten. Nach dem Lesen der "Sites" -Doc scheint es, dass das die beste Lösung ist. Ich denke, der Schlüssel für mich ist herauszufinden, wie es aussieht wie eine "Netzwerk" ID für den Benutzer. – user407601

Antwort

1

Abhängig von Ihrem Server (n).

Haben alle Websites Zugriff auf dieselbe Datenbank? Dann benutze dcrodjers Antwort.

Wenn nicht, können Sie einen Single Sign-On-Dienst im OAuth-Stil implementieren, an dem sich die anderen Sites authentifizieren.

Ex: site1.example.com site2.example.com site3.example.com siteN.example.com

Würde auth gegen oauth.example.com

0

Wenn Sie setzen können diese drei Seiten in Subdomains einer einzigen Domain, dann bin ich mir fast sicher, dass du bei Django bleiben kannst. Was ich schreibe ist so etwas wie dieses:

site1.mydomain.com site2.mydomain.com site3.mydomain.com

- wo Login bei mydomain.com umgesetzt wird.

Grundsätzlich sollte mydomain.com eine kleine Django-Seite bedienen, die nur das Anmeldeformular implementiert und die Sitzung für ".mydomain.com" domain verwaltet (beachten Sie den führenden Punkt - es ist erforderlich, dass die Sitzung an site1..3-Subdomänen weitergegeben wird). Wenn Sie sich also bei mydomain.com anmelden, werden Sie effektiv bei allen drei Unterwebsites angemeldet.

Und die einfachste Möglichkeit, serverseitige Authentifizierungs- und Sitzungsdaten zu teilen, besteht darin, dass die Ubsites 1,2,3 zwei Datenbanken verwenden, eine kleine Datenbank mit mydomain.com für Authentifizierungs- und Sitzungsdaten und die andere spezifisch gegebene Seite.

Verwandte Themen