[url]http://www.letrails.cn/archives/ie7-bug-make-rails-session-cant-be-saved/[/url]
同一套代码,部署在同一台服务器上,但是很诡异的是一套工作,另外一套登录的时候总是出现 ActionController::InvalidAuthenticityToken 的异常,即使加上skip_before_filter :verify_authenticity_token,虽然没有异常了,但是仍然无法登陆,追踪进去发现是Rails的Session保存失败,Google了一下“IE rails session can’t be save”,找到这篇帖子,似乎只是IE7独有的一个Bug,当你的子域名包含下划线时,IE7会拒绝接受Session Cookie,从而导致Rails的Session保存失败,而我的两个应用唯一的区别恰恰就在一个应用的域名包含有下划线。
这个问题困扰了我一下午,希望这个帖子可以给遇到同样问题的人节省一点时间。
同一套代码,部署在同一台服务器上,但是很诡异的是一套工作,另外一套登录的时候总是出现 ActionController::InvalidAuthenticityToken 的异常,即使加上skip_before_filter :verify_authenticity_token,虽然没有异常了,但是仍然无法登陆,追踪进去发现是Rails的Session保存失败,Google了一下“IE rails session can’t be save”,找到这篇帖子,似乎只是IE7独有的一个Bug,当你的子域名包含下划线时,IE7会拒绝接受Session Cookie,从而导致Rails的Session保存失败,而我的两个应用唯一的区别恰恰就在一个应用的域名包含有下划线。
这个问题困扰了我一下午,希望这个帖子可以给遇到同样问题的人节省一点时间。
探讨了一种仅出现在IE7浏览器中的独特问题,当子域名包含下划线时,IE7会拒绝接收Session Cookie,导致Rails应用的Session保存失败。通过调整域名设置解决了这一难题。
364

被折叠的 条评论
为什么被折叠?



