ie9 symfony和subdomain

时间:2013-02-25 17:03:44

标签: internet-explorer cookies symfony1 subdomain

  • 浏览器:IE 9
  • 框架:Symfony 1.2
  • 插件:sfguard

示例:

  • mainDomain:domain.com
  • 子域名:subdomain.domain.com

当你打开ie,转到mainDomain,登录,然后转到子域,你已经登录,我不想要那个,我已经修复了它在不同的地方保存会话(session_save_path)。所以这是我的主要问题:

第1种情况:打开ie,转到mainDomain(用户未登录),然后打开新选项卡,转到子域。

第二个场景:打开ie,转到subdoamin,然后打开一个新标签,转到mainDomain。

当用户尝试使用子域登录时: 第一种场景:用户无法登录,应用程序重定向到登录页面。 第二种场景:用户可以登录。

我用Fiddler看到的是: 第一种情景: 域:

**Response** sent xxx bytes of Cookie data:
    Set-Cookie: symfony=drub66g3jlv16ukp1vf00hei42; path=/

子域:

**Request** sent xxx bytes of Cookie data:
symfony=drub66g3jlv16ukp1vf00hei42;

尝试登录时:

Response sent xxx bytes of Cookie data:
    Set-Cookie: symfony=9r0bqkmb29gqbe8pnhmae1rsj6; path=/

重定向到主页:

Request sent xxx bytes of Cookie data:

symfony=drub66g3jlv16ukp1vf00hei42;
symfony=9r0bqkmb29gqbe8pnhmae1rsj6;

请注意,最后一个请求是两次发送相同的Cookie!其中一个对应主域!!!好像mainDomain cookie正在覆盖子域cookie !!!

但在第二种情况下,cookie按此顺序发送:     请求发送了xxx字节的Cookie数据:

symfony=9r0bqkmb29gqbe8pnhmae1rsj6;
symfony=drub66g3jlv16ukp1vf00hei42;

看起来这样可行,因为首先发送子域cookie!

我已经看到ie在子域中存在下划线问题,但这不是我的情况,我还设置ie接受所有cookie,并且对于我已经完成的每个测试,首先我清除所有cookie和缓存。 / p>

我知道symfony 1.2已经老了但是现在我无法迁移到symfony 2而且我认为这不是关于symfony的问题,而是ie。

1 个答案:

答案 0 :(得分:0)

我在Silex(它使用symfony会话组件)中遇到了与此类似的问题,而快速修复只是以不同方式命名两个会话cookie。似乎IE在域的不同级别处理cookie与其他客户端不同。