尝试使用rack实现基于会话cookie的应用程序似乎没有在请求之间保留信息,在用户成功登录后,它应该保存一条闪存消息以在重定向时在索引处使用,但没有发生什么:
-PostHandler
env['rack.session'][:flash] = "Successfully Logged In."
res.status = 302
res['Location'] = '/login'
-路线
res = Rack::Response.new(render("index", @flash="#{env['rack.session'][:flash] || "No flash."}"))
堆栈是这样实现的,在其开头有 Rack::Session::Cookie:
use Routes
use PostHandler
run Application.new
wdId?
为了讨论起见,问题与缓存的实现方式有关,它位于应用程序堆栈中会话下方的一层,并且正在设置ignore_headers:['Set-Cookie'],是什么使应用程序不设置cookie用户,可以在缓存配置中反转设置,ignore_headers: [];