我遇到了一个问题,在我的网站上登录不能在IE8中一致地工作。它在Firefox/Chrome/Safari中运行良好,但不是IE8。IE8不会总是编辑Cookie值
第一次登录时一切正常。注销并尝试重新登录后,通常会失败一段时间。在认证之后,它将最终重定向到登录页面。
所以认证成功,它返回true,但似乎IE8不接受的,我们通过返回设置会话ID的新值:
的Set-Cookie SESSIONID = ....... 。 Path =/
在响应头中。但显然,这与清除缓存的作品,我可以得到罚款。但是在它已经存在之后,它不能重置,因此在认证并尝试进入新页面之后,它看到这是从浏览器发送并重定向到登录页面的旧会话ID。
我还没有在这里或其他地方找到任何真正解决此问题的东西(除了清除缓存)。大多数对IE8 cookie问题的引用都是特定于语言/框架的,并没有回答这个问题。
有什么特别的,我可能需要做的设置cookie来做到这一点?
UPDATE:
我设置IE8接受任何cookie之前进行提示。当登录工作正常时,它会按预期提示。当它不工作,甚至没有一个提示除了饼干..
更新2:
我应该提到的是,饼干,预计Ajax调用后,设置:
$获得(authenticate_url,....)
它要求从返回该设置会话ID,然后在回调函数将用户重定向到主网页的标题一个响应的URL - 假设登录是成功的。
我不是直接在set-cookie中设置域。所以这将是一个第一方的cookie,对吧?我没有设置HTTPOnly。 – 2011-03-31 03:10:33
你已经确认用户在这种情况下不会从“example.com”转到“www.example.com”吗? – EricLaw 2011-04-01 14:00:31
是的。呃,它让我输入15个字符?!我无法弄清楚为什么它不会采取我的“是”。哈哈,这个东西有什么问题!:) – 2011-04-07 02:37:12