1

我遇到了一个 safari 6 问题,它会阻止第三方 iframe cookie,除非用户访问了 iframe 之外的域。唯一的修复似乎是这个:Safari 3rd party cookie iframe trick no longer working?

但这涉及一些丑陋的解决方法(弹出打开一个新的浏览器窗口并再次关闭)。我想采用的首选解决方案是加密会话 ID,并将其作为查询参数附加到所有路由。然后,我可以使用 before 过滤器通过解密 id 并从会话存储中加载它来检索会话。

所以我不知道是否有一种方法可以将查询参数附加到所有路由而无需直接编辑每个链接?即通过在我的路由文件中添加一些东西。

4

1 回答 1

3

覆盖默认的 url 选项。

您可以在以下位置为您的整个应用程序这样做application_controller

def default_url_options(options = {})
  options.merge({ :session_id => request.session_options[:id] })
end
于 2012-10-10T12:11:37.543 回答