【发布时间】:2010-09-28 20:30:05
【问题描述】:
我想从与我发起会话的域不同的域访问用户的会话。我可以使用用户的 session.session_id 然后检索该用户的会话哈希吗?
谢谢
【问题讨论】:
标签: ruby-on-rails session
我想从与我发起会话的域不同的域访问用户的会话。我可以使用用户的 session.session_id 然后检索该用户的会话哈希吗?
谢谢
【问题讨论】:
标签: ruby-on-rails session
如果它位于不同的域(即,不是子域)上,则无法获取会话信息(因为它存储在 cookie 中)——您需要其他信息(请参阅this question)。如果是子域,我认为有一种巧妙的方法可以通过设置 cookie 的域来自动完成(查看 environment.rb 的 config.action_controller.session,尝试设置 :session_domain)
【讨论】:
看起来你可以使用类似的东西:
CGI::Session::ActiveRecordStore::SqlBypass::find_by_session_id(session_id)
但是,我不确定这是否是一个好主意——在这种情况下,它只有在您使用 ActiveRecordStore 时才有用。不确定其他商店还有什么,但如果您在 actionpack/lib/action_controller/session/* 下四处寻找,您可能会得到更明确的答案。
【讨论】: