2017-08-04 1 views
0

Ich habe ein Symfony 3-Projekt, das in 3 Apps aufgeteilt ist (mehrere Kernel, gleiche Datenbank, verschiedene Subdomains): Front/Admin/Partner. (hätte es vor allem der Lage sein, mehr Sonata Admin configs zu verwenden.)Wie kann die Authentifizierung zwischen mehreren Symfony-Anwendungen geteilt werden (gleiche Datenbank, mehrere Kernel)?

Wenn ein Benutzer das Login-Formular in Front-App füllt, wird er (Sub-Domain), je nach seiner Rolle in der entsprechenden App weitergeleitet.

Meine Frage ist: , wie man ihn authentifiziert nach dieser Umleitung machen?

Antwort

1

Ich fand, warum es nicht funktionierte: mein var Ordner wurde von App getrennt daher mein sessions Ordner wurde nicht zwischen den Apps geteilt.

var 
    |-- admin 
    | |-- cache 
    | |-- logs 
    | |-- sessions 
    |-- front 
    | ... 

Die Lösung war die gleiche save_path in meine apps Sitzung configs zu definieren.
Ich hatte auch die cookie_domain zu Hostnamen zu definieren (ohne Sub-Domain), um einen PHPSESSID-Cookie von allen Unterdomänen geteilt zu bekommen:

framework: 
    session: 
     save_path: '%kernel.project_dir%/var/sessions/' 
     cookie_domain: 'mywebsite.com' 
Verwandte Themen