私はここで何かが分からないように感じています。私がこれを投稿するとすぐに誰かがGoogle検索リンクを私に恥げてしまうことを願っています:-)Rack :: Session :: Cookieを使って現在のセッションを削除する
enable :sessions
get '/logout' do
# What goes here to kill the session?
end
私はここで何かが分からないように感じています。私がこれを投稿するとすぐに誰かがGoogle検索リンクを私に恥げてしまうことを願っています:-)Rack :: Session :: Cookieを使って現在のセッションを削除する
enable :sessions
get '/logout' do
# What goes here to kill the session?
end
ちょうどセッションを破壊する
session.clear
を使用しています。
セッションの作成方法によって異なります。単にセッションエントリをヌル化する必要があります。ここでは、セッションの作成と破棄の簡単な例を示します。
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
OPの例では、SinatraなどのRubyフレームワークを使用していることが明確です( 'enable:sessions')。しかし、' Rack :: Session :: Cookie'を直接使ってセッションを削除することを尋ねました。この回答に記載されている解決策はそれに当てはまるのですか、Sinatra/Rails固有の解決策ですか? http://stackoverflow.com/questions/10451392/how-do-i-set-get-session-vars-in-a-rack-appによると '#session'はSinatra/Rails /に固有のメソッドです。プレーンラックアプリケーションにはそれがありません。これが本当であれば、これに対処するための正しいラックのみの方法が何であるかを知っている人はいますか? –
私のために働いていない、それを数回試してみました。私は 'enable:sessions'を使って非常に簡単なアプリケーションを持っています –
@jj_いいえ、' sinatra'と 'rails'はラックミドルウェアを使いません。 –