- 浏览器:IE 9
- 框架:Symfony 1.2
- 插件:sfguard
例子:
- 主域:domain.com
- 子域:subdomain.domain.com
当您打开 ie 时,转到 mainDomain,登录,然后转到子域,您已经登录,我不希望这样,我已经修复了它,将会话保存在不同的位置(session_save_path)。所以这是我的主要问题:
第一种情况:打开即进入主域(用户未登录),然后打开一个新选项卡,进入子域。
第二种情况:打开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 和缓存。
我知道 symfony 1.2 很旧,但现在我无法迁移到 symfony 2,我认为这不是 symfony 的问题,而是 ie。