代码之家  ›  专栏  ›  技术社区  ›  Jibato

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

  •  0
  • Jibato  · 技术社区  · 7 年前

    3个应用程序 (多个内核,相同的数据库,不同的子域):前端/管理/合作伙伴。 (主要是为了能够使用几个Sonata管理配置。)

    当用户在前台应用程序中填写登录表单时,他是 (子域)取决于他的角色。

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

    2 回复  |  直到 7 年前
        1
  •  1
  •   Jibato    7 年前

    我找到了它不起作用的原因:我的 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'
    
        2
  •  0
  •   Tsounabe    6 年前

    为了让它发挥作用,我需要添加 handler_id: session.handler.native_file

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