Multisites mit nur einem Authentifizierungspunkt

9

Für ein zukünftiges Projekt suche ich nach einer Möglichkeit, die Entwicklung mehrerer Sites mit Symfony2 zu verwalten. Tatsächlich befindet sich jede Site in einer anderen Subdomain, funktioniert aber genauso. Nur der Stil wird sich ein wenig ändern.

Die Sache ist: Die Authentifizierung ist allen Unterwebsites gemeinsam und wird von der Hauptwebsite (www.mydomain.com) verwaltet. Jede Multisite wird dann ihre eigene Datenbank haben.

Ist das mit Symfony2 möglich? Ich weiß, dass es möglich ist, Mehrdomänen zu verwenden, aber ich weiß nicht wie das Authentifizierungssystem. Hast du Ideen, wie es weitergeht?

Danke!

    
Jérémy Dutheil 15.12.2011, 15:29
quelle

1 Antwort

9

Eigentlich habe ich das in einem der Projekte geschafft, an denen ich gerade arbeite.

Es ist ein bisschen schwierig, aber sobald Sie das grundlegende Konzept hinter der Symfony-Sicherheitsschicht verstehen, ist es sehr einfach, es in Ihr bestehendes Projekt zu integrieren.

Zunächst sollten Sie Folgendes lesen: Ссылка . Ich würde auch empfehlen, einen Blick auf die Sicherheitsabteilung des Kochbuchs zu werfen.

Sie werden in der Anleitung keine direkte Antwort finden, aber es hilft, den Code zu verstehen, den ich hier einfügen werde.

Die Grundidee besteht darin, die Sitzungs-ID über die Subdomänen hinweg zu teilen.

Hinweis: Aus Platzgründen vergesse ich die Tags use und namespace in PHP. Vergessen Sie nicht, entsprechende Namespaces zu importieren und anzugeben.

%Vor%

security_factories.yml:

%Vor%

config.xml:

%Vor%

Und schließlich - die security.yml:

%Vor%

Das ist das Einfachste und so ordentlich wie möglich, was ich mir vorstellen kann. Die einzige "missbraucht" -Klasse hier ist die SessionMatcher , die nur nach der Verfügbarkeit der Sitzungs-ID in der Sitzung sucht.

Viel Glück, und zögern Sie nicht, Fragen in den Kommentaren zu stellen. Ich weiß, das kann am Anfang ziemlich verwirrend sein.

    
Itako 02.01.2012, 10:32
quelle

Tags und Links