我想从一个不同于我发起会话的域中访问一个用户的会话。我可以使用用户的session.session_id,然后检索该用户的会话散列吗?在Ruby On Rails中使用session_id检索会话?
谢谢
我想从一个不同于我发起会话的域中访问一个用户的会话。我可以使用用户的session.session_id,然后检索该用户的会话散列吗?在Ruby On Rails中使用session_id检索会话?
谢谢
看起来你可以使用类似:
CGI::Session::ActiveRecordStore::SqlBypass::find_by_session_id(session_id)
但是,我不知道这是一个好主意或不 - 在这种情况下,它是唯一有用的如果你使用ActiveRecordStore。不确定其他商店有什么其他商店可用,但是如果你在actionpack/lib/action_controller/session/*下面徘徊,你可能会得到一个更明确的答案。
如果它位于不同的域(即不是子域),则无法获取会话信息(导致它存储在cookie中) - 您将需要其他东西(请参阅this question)。如果它是一个子域名,我认为有一个简单的方法可以通过设置cookie的域来自动完成它(查看environment.rb的config.action_controller.session
,尝试设置:session_domain
)