3

我有一个在所有浏览器(Safari、Firefox、IE6、7、8 等)中都能正常工作的 Rails 应用程序

我有一个新用户拥有相当锁定的 IE8 版本,一旦他们尝试访问该应用程序,甚至在他们进入登录页面之前,他们就会出现 Windows 身份验证提示。如果他们尝试输入已提供的登录详细信息,则会失败。我并不担心它会失败,因为不应该出现身份验证提示。

一旦我从 ApplicationController 中删除了protect_from_forgery,他们就可以正常访问系统。

我曾尝试建议允许 cookie 等,但他们仍然遇到问题。有没有人对我们可以看的其他东西有任何建议

只是为了补充这一点。该站点使用大本营风格的子域系统。不确定这是否是一个问题。

4

2 回答 2

1

您使用的是哪个版本的 Rails?您使用的是哪个身份验证框架?

我对 Rails 3.0.3 和一些较早版本的 Devise 有相同的行为。我遇到的问题是,在某些情况下,IE8 决定在 HTTP 标头中发送“Accept-Type: */*”,而不是一长串支持的格式。在 Rails/Devise 中的某个地方出现了一些问题,并且返回了 HTTP 身份验证状态。

我通过升级到 Rails 3.0.5 和 Devise 1.2.rc2 解决了我的问题。

于 2011-03-30T15:35:10.420 回答
0

万一其他人仍然有这个问题,我正在使用 Rails 3.0.9 和 Devise 1.2.1 并且仍然有这个问题。我的问题是 IE 不会为带有下划线的子域设置 cookie。有关详细信息,请参阅此答案。所以我改变了我的子域以使用破折号,它现在可以工作了。

于 2011-06-30T20:37:11.873 回答