我在日志文件中没有看到任何错误消息,屏幕上也没有消息。登录到我的 Rails 3 应用程序,因为它是从另一个站点在 iframe 中提供的,会导致在没有用户登录的情况下返回到主站点。
听起来Rails应用程序无法通过iframe识别cookie。还有其他人遇到过这个问题吗?我在哪里可以查看错误是什么?
请注意,这只发生在IE版本8中(也许它发生在7和6中,尚未测试)。
James是正确的,IE有一些安全措施来防止iFrame生成cookie。有一个简单的解决方法,只需将以下响应标头包含在控制器中:
response.headers['P3P'] = 'CP="NON DSP COR CURa IVAa IVDa CONa OUR NOR STA"'
来源: http://adamyoung.net/IE-Blocking-iFrame-Cookies
我在IE 6和7以及iframes的Devise上遇到了类似的问题。据我了解,这与会话未通过IE中的iframe传递有关。根据我能够找到的内容,IE为了安全起见阻止了这一点。
我不确定为什么这似乎只是IE中的安全问题,而不是其他浏览器。