【发布时间】:2011-05-14 06:14:48
【问题描述】:
我觉得我在这里遗漏了一些明显的东西,我希望一旦我发布此内容,有人会用我遗漏的谷歌搜索链接让我感到羞耻:-)
enable :sessions
get '/logout' do
# What goes here to kill the session?
end
【问题讨论】:
我觉得我在这里遗漏了一些明显的东西,我希望一旦我发布此内容,有人会用我遗漏的谷歌搜索链接让我感到羞耻:-)
enable :sessions
get '/logout' do
# What goes here to kill the session?
end
【问题讨论】:
随便用
session.clear
销毁会话。
【讨论】:
enable :sessions) 他们正在使用 Sinatra 或类似的 ruby 框架,但他们询问是否直接使用 Rack::Session::Cookie 删除会话。此答案中提供的解决方案是否适用于此,还是 Sinatra/Rails 特定?根据stackoverflow.com/questions/10451392/…#session 是特定于 Sinatra/Rails/... 的方法,而普通机架应用程序没有它。如果这是真的,那么有没有人知道正确的机架式处理方法是什么?
enable :sessions
sinatra 和 rails 使用机架中间件。
这取决于您如何创建会话。只需您必须取消会话条目。这是一个简单的例子,如何创建和销毁会话。
get '/login' do
session[:username] = params[:username]
"logged in as #{session[:username]}"
end
get '/logout' do
old_user = session[:username]
session[:username] = nil
"logged out #{old_user}"
end
你也可以看看这个例子:https://gist.github.com/131401
【讨论】:
session.clear,它可能是一个新会话,但旧会话将被销毁。 Nil-ing 会话密钥可能会保留原始 cookie,但没有任何值。