2017-08-04 10 views
0

J'ai un projet Symfony 3 qui est divisé en 3 applications (plusieurs noyaux, même base de données, différents sous-domaines): Front/Admin/Partner. (Principalement-t-il pour pouvoir utiliser plusieurs Sonata Administrateur configs.)Comment partager l'authentification entre plusieurs applications Symfony (même base de données, plusieurs noyaux)?

Lorsqu'un utilisateur de remplir le formulaire de connexion dans l'application avant, il est redirigé vers l'application correspondante (sous-domaine) en fonction de son rôle.

Ma question est: comment le faire authentifier après cette redirection?

Répondre

1

J'ai trouvé pourquoi cela ne fonctionnait pas: mon dossier var a été divisé par application donc mon dossier sessions n'a pas été partagé entre les applications.

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

La solution a été de définir la même save_path dans mes applications de session configs.
Je devais aussi définir le nom d'hôte à cookie_domain (sans sous-domaine) afin d'obtenir un cookie PHPSESSID partagé par tous les sous-domaines:

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