Symfony 2.1安全交叉子域

时间:2012-11-01 15:03:13

标签: php symfony symfony-2.1

在应用程序上运行Symfony 2.1,我们有不同的代码沙箱。例如。

  • aequasi.someurl.com
  • dev.someurl.com
  • hotcarl.someurl.com

我似乎无法弄清楚原因,但是当我登录aequasi,然后我转到hotcarl时,我需要再次登录。当我这样做时,它会让我退出aequasi

所有沙箱都使用相同的数据库进行身份验证

我在config.yml

中有这个
framework:
    session:
        cookie_domain: .someurl.com
        domain:        .someurl.com

我已将php.ini设置为使用相同的网址

另外,session_id是相同的

1 个答案:

答案 0 :(得分:2)

使用数据库或内存作为会话存储。这允许您跨三个不同的symfony应用程序(每个应用程序都有自己的沙箱)共享会话数据。这将消除应用程序缓存之间的不一致,并允许您使用* .domain.com类型的cookie。

Symfony2为备用会话存储提供了几个驱动程序。

http://symfony.com/doc/current/components/http_foundation/session_configuration.html#custom-save-handlers