与warbler打包时,会话不在Sinatra应用程序中运行

时间:2014-07-21 01:36:38

标签: sinatra jruby warbler jruby-rack

我已经创建了simple sinatra app,但在将其作为可执行战争运行时无法使用会话。

我已经通过" jruby -S rackup"来验证它是否有效,但是当使用" java -jar myapp.war"运行时,我发现会话重置每个请求:

INFO: Winstone Servlet Engine v0.9.10 running: controlPort=disabled
session: {"session_id"=>"75936d3d21367f5c1896e749ba401d7715e41a5fd01317484faa44d80c8afaea", "csrf"=>"60367cb6c5ead39b2669668ed28db3a1", "tracking"=>{"
HTTP_USER_AGENT"=>"9f3d63482f1fb48a317c5c9e2de6196f9cd239cc", "HTTP_ACCEPT_LANGUAGE"=>"66eae971492938c2dcc2fb1ddc8d7ec3196037da"}}
Jul 20, 2014 8:00:20 PM winstone.Logger logInternal
INFO: 0:0:0:0:0:0:0:1 -  [20/Jul/2014 20:00:20] "GET / " 200 765 0.1670

session: {"session_id"=>"19d266ffb8ccb29108464961e68fa9e29f1c3b45e0097806b4cbc8db156d71d7", "csrf"=>"5ac12991c2ec8d4acf22180d79c494c2", "tracking"=>{"
HTTP_USER_AGENT"=>"9f3d63482f1fb48a317c5c9e2de6196f9cd239cc", "HTTP_ACCEPT_LANGUAGE"=>"66eae971492938c2dcc2fb1ddc8d7ec3196037da"}, "name"=>"john"}
Jul 20, 2014 8:00:31 PM winstone.Logger logInternal
INFO: 0:0:0:0:0:0:0:1 -  [20/Jul/2014 20:00:31] "GET /login/john " 200 9 0.0240

session: {"session_id"=>"60f161941822b4f0fae9085db58fe9ea30e86d56dc16fff2ea5859bb4008c58f", "csrf"=>"7dd3977bef9fca9c7ed9b77fdc774657", "tracking"=>{"
HTTP_USER_AGENT"=>"9f3d63482f1fb48a317c5c9e2de6196f9cd239cc", "HTTP_ACCEPT_LANGUAGE"=>"66eae971492938c2dcc2fb1ddc8d7ec3196037da"}}
Jul 20, 2014 8:00:40 PM winstone.Logger logInternal

除了设置要启用的会话之外,当应用程序与warbler一起打包并作为可执行的战争运行时,会话是否需要进行任何特殊设置?

1 个答案:

答案 0 :(得分:1)

不需要什么特别的东西 - 我试过你的样品并且工作正常。

它可能是你正在使用的 jruby-rack 版本的错误...请尝试> = 1.1.15

我也建议尝试使用码头网络服务器(你会在 config / warbler.rb 找到一个选项)......我会尝试确保码头是未来Warbler版本的默认值。