Удаление текущей сессии с помощью Rack :: Session :: Cookie - PullRequest
26 голосов
/ 23 ноября 2010

Мне кажется, что я упускаю что-то очевидное здесь, и я надеюсь, что, как только я опубликую это, кто-то опозорит меня из-за поисковой ссылки Google, которую я пропустил: -)

enable :sessions

get '/logout' do
  # What goes here to kill the session?
end

Ответы [ 2 ]

43 голосов
/ 30 декабря 2010

Просто используйте

session.clear

, чтобы уничтожить сеанс.

3 голосов
/ 23 ноября 2010

Зависит от того, как вы создаете сеанс. Просто вы должны аннулировать запись сеанса. Вот простой пример того, как создавать и уничтожать сессии.

  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

...