【发布时间】:2014-05-25 01:33:10
【问题描述】:
我正在尝试使我的 Sinatra 应用程序的会话更加安全,为此我想使用 EncryptedCookie gem。不幸的是,当我访问我的应用程序中的任何页面时,我都会收到此错误:
TypeError at /
no _dump_data is defined for class UnboundMethod
file: encrypted_cookie.rb location: dump line: 68
这是我的代码:
configure do
use Rack::Session::EncryptedCookie,
:key => 'myapp.session',
:domain => 'myapp.com',
:path => '/',
:expire_after => 1200,
:secret => 'bigcrazysecretstringhere'
end
我尝试在一个简单的 Sinatra 应用程序中使用与上面所示相同的设置来测试该 gem,它运行良好。我的应用程序中一定有其他设置干扰了该应用程序,但我无法弄清楚它可能是什么。有没有人遇到过类似的问题?
(我也尝试使用“thin start”、“rackup config.ru”和“ruby myapp.rb”来启动应用程序——这些都没有影响。)
【问题讨论】:
-
在启用加密之前,您是否从站点中删除了任何旧的 cookie?也许它正在尝试解密明文并变得悲伤?
-
您提供的代码看起来不错,唯一不同的是我将 use 语句放在我的应用程序的 Rack 部分(通常在
config.ru中),因为它将在西纳特拉应用程序。既然提到了_dump_data,你有没有set this tofalse。
标签: ruby session sinatra rack thin