我想從一個不同於我發起會話的域中訪問一個用戶的會話。我可以使用用戶的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
)