我正在尝试为Torquebox中的web套接字实现用户身份验证,根据互联网上的所有内容,如果我在stomp服务器上运行web应用程序,我应该能够从一个stomplet中访问HTTP会话
我的配置如下所示
web do
context '/'
host 'localhost'
end
stomp do
host 'localhost'
end
stomplet GlobalStomplet do
route '/live/socket'
end我也试过注释掉网页和踩块,但没有什么变化。
基本上,套接字是工作的,我可以连接,并订阅。在我的stomplet中,on_subscribe方法有几行调试代码
Rails.logger.debug "SESSION = #{subscriber.session}"
Rails.logger.debug "SESSION 2 = #{subscriber.getSession.getAttributeNames}"
Rails.logger.debug "SOCKET SESSION = #{TorqueBox::Session::ServletStore.load_session_data(subscriber.getSession)}"任何其他的组合,这些东西,但在任何情况下,我都有一个空的会话。唯一的例外是当我显式加载会话时(如上面的调试行中所示),我的会话包含一个会话ID和类似于TORQUEBOX_INITIAL_KEYS的内容,但是会话ID不是HTTP,只是类似于session-1而没有什么有用的东西。
我在rails应用程序中有一个初始化程序,用于设置torque盒会话存储。
MyApp::Application.config.session_store :torquebox_store, {
key: '_app_key'
}我没有收到任何异常,所以我认为没有明显的问题,但我已经尝试了我能想到的,但仍然没有一个会话,我可以使用。
我做错了什么?
我正在使用Torquebox 3.1.0、Rails 4和jRuby 1.7.11
发布于 2014-04-01 09:08:35
嗯,似乎我没有做错任何事情本身,但似乎有一个潜在的错误在Torquebox (现在提交一个错误报告)。
似乎扭矩盒web应用程序对我为会话存储分配一个自定义密钥非常满意,而且每个应用程序都按预期工作。不幸的是,似乎气孔只是在寻找普通的JSESSIONID,而忽略了自定义的键。
为了确认,我删除了自定义密钥,它成功了。然后我重新引入了它,然后它又停止工作了。在键仍然存在的情况下,我手动设置JSESSIONID值,然后重新连接,然后突然出现会话。
https://stackoverflow.com/questions/22780126
复制相似问题