在IE中使用我们的Rails应用程序的奇怪Bug

时间:2010-05-03 07:26:18

标签: ruby-on-rails internet-explorer cookies restful-authentication

我们在Rails 2.3.4应用程序中遇到了一个非常奇怪的错误。

此错误在Internet Explorer(7和8)中发生。这是发生的事情:

  • 新客户在https://domain.com/signup/free(注意没有子域名)
  • 创建帐户
  • 他们的帐户由子域名“example.domain.com”
  • 标识
  • 注册后,他们会看到一个欢迎屏幕,其中包含指向其帐户主页的链接
  • 他们按照链接,然后点击“登录”按钮并尝试登录
  • 即使他们提供了有效的凭据,该应用也会重定向回其帐户的根网址...他们永远无法访问其管理区域
  • 他们可以登录(在IE上)的唯一方法是退出并重新打开IE ...然后它工作正常......

初始会话的某些内容阻止他们登录。如果重要,我们正在使用restful_authentication和ssl_requirement插件......我不确定其中一个或两个是否有IE问题但是我们很难过这里。

另外,我读过IE浏览器存在包含下划线的子域的问题......这不是正在发生的事情。

1 个答案:

答案 0 :(得分:2)

如果会话Cookie的域名设置为“domain.com”,请尝试将其设置为“.domain.com”。

我不知道这是否适用于2.3.4,但

ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS[:session_domain] = '.domain.com'

用来做这个伎俩。