如果您将当前会话对象存储在本地,例如current_session
:
TorqueBox::Session::ServletStore.load_session_data(current_session)
这将允许您查看当前会话数据,并附带一个姊妹功能,使您还可以在会话存储中设置数据store_session_data(...)
:
TorqueBox::Session::ServletStore.store_session_data(current_session, data)
您还可以设置data
为{}
(empty hash) 以使其无效(对于大多数意图和目的)。
当前会话对象的可用性将根据范围而有所不同。例如,在 stomplet 中,我必须对订阅者进行一些自省以获取current_session
对象以便查看会话数据:
class ChatStomplet
# ...
def on_subscribe (subscriber)
@subscribers[ session(subscriber)[:current_user].username ] << subscriber
end
# ...
def session (subscriber)
TorqueBox::Session::ServletStore.load_session_data(subscriber.getSession)
end
end
您可能也应该看一下ActionDispatch::Session::TorqueBoxStore
api。
我个人还没有找到很多关于这方面的文档。事实上,我仍在寻找一种方法来查找所有当前活动的会话。如果他们实现AbstractStore 的接口将会有所帮助,因为与当前 Rails 约定的兼容性将大有帮助。
我知道这不是一个完整的答案,但希望它能为您的旅行提供一些启示。