虽然问题几乎总是发生在Internet Explorer中的用户身上,但它也发生在Firefox和Chrome中几次。尽管应用程序告诉他们过期,Cookie仍被保留
的问题是哪些用户尝试登录,要么得到一个422错误,或干脆重新定向回登录屏幕。我们有一个通配符cookie,但我们最近将其切换为针对www(大约3个月前),并将之前的cookie设置为在会话结束时过期。
我们近期又切换到设计,希望它会解决这个问题,从Restful_athentication身份验证,但它似乎并不被帮助。然而,我不明白这些是如何相关的,因为他们并没有真正管理这些cookie,而是Rails所做的,他们只是把东西放在cookie中。我想,也许这个问题是宁静-auth的是把事情在变得奇怪条件下腐败,但显然不是所有
UPDATE
的情况下,我们切换到设计后,用户遇到此问题不再有422错误,但现在页面只刷新,没有任何反应。我还应该提到,当他们在他们的电子邮件中输入密码时(因为他们认为他们输入的密码是错误的),它会返回该电子邮件在系统中找不到。
当他们明确自己的饼干,特别是在IE浏览器,他们仍然会碰到同样的问题。我已经通过搜索Firefox中的单个cookie来解决问题。但是,只是简单地以通常的方式清除cookie不起作用。这个问题主要影响到IE7用户,但似乎遍布整个地图,用户在Chrome,IE8,Firefox,Safari和Safari上报告Ipad问题。
而且,这里的代码链接的session_store.rb here和这里的主人是DEF ensure_domain设置,这是here
更新2
我刚刚作出了一个非常小的调整它改变了它,所以它总是发送一个主机。我试图在每个浏览器上以各种不同的方式登录,并没有遇到任何问题。我希望这有助于
更新3(最近更新)
我们尝试了一些不同的东西组合,因此,虽然我不完全知道什么固定它,我最好的猜测是去除从4天缓存到会话结束/浏览器关闭时。虽然我并不感到关于这个问题,我个人不喜欢不必登录每一次,我宁愿这个问题固定的(这个问题没有开始发生后才我们改变了缓存长到4天。)
发送主机是一个错误,实际上让每个人的问题变得更糟,因为没有人能够登录。另一个奇怪的是,当查看创建的cookie时,有两个会话ID cookie,我猜想这会导致冲突,尤其是IE7。一些用户不得不清除他们的cookie以便仍然登录,但至少似乎大部分时间都在工作。
对任何具有类似的问题,抱歉,我不能有更多的帮助!
你可以发布你的代码你如何试图过期呢? – 2potatocakes 2011-03-22 22:17:40
下面是session_store.rb的代码:http://pastie.org/private/ao9nylhul1ioqjcmnyal2g,这里的主机是在def ensure_domain中设置的,这里是:http://pastie.org/private/snqidzyiktweex1bfawg – adamwstl 2011-04-04 21:18:52
我们的一些用户站点具有自定义域,这是以上控制器中使用的代码。 – adamwstl 2011-04-04 21:20:57