首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在多个Symfony应用程序(相同的数据库,多个内核)之间共享身份验证?

如何在多个Symfony应用程序(相同的数据库,多个内核)之间共享身份验证?
EN

Stack Overflow用户
提问于 2017-08-05 06:41:20
回答 2查看 1.4K关注 0票数 0

我有一个Symfony 3项目,它被分成3应用程序(多个内核,相同的数据库,不同的子域):Front / Admin / Partner。(主要是为了能够使用几个Sonata Admin配置。)

当用户在前端应用程序中填写登录表单时,根据他的角色,他会被重定向到相应的应用程序(子域)。

我的问题是:在重定向后如何让他进行身份验证?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-05 18:42:38

我找到了它不能工作的原因:我的var文件夹被应用程序拆分了,因此我的sessions文件夹没有在应用程序之间共享。

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

解决方案是在我的应用程序会话配置中定义相同的save_path

我还必须定义主机名(没有子域)的cookie_domain,以便获得一个由所有子域共享的PHPSESSID cookie:

framework:
    session:
        save_path: '%kernel.project_dir%/var/sessions/'
        cookie_domain: 'mywebsite.com'
票数 1
EN

Stack Overflow用户

发布于 2018-08-04 04:35:07

为了让它工作,我需要在会话部分添加handler_id: session.handler.native_file,并在子域之间共享会话,我需要在cookie_domain部分的域前加上一个点作为前缀:

framework:
    session:
        handler_id: session.handler.native_file
        save_path: '%kernel.project_dir%/var/sessions/'
        cookie_domain: .mywebsite.com
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45516416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档