После обновления до Rails 3.2.2 и Devise 2.0.4, выход из системы не разрушает сессию - PullRequest
1 голос
/ 17 марта 2012

После обновления моего проекта rails до rails 3.2.2 и Devise 2.0.4 я больше не могу выйти из системы. Я не испытываю эту проблему ; вместо этого, щелчок по выходу из системы не оставляет меня в состоянии выхода из системы, пользовательский объект все еще действителен, и все еще есть current_user. Вот что в моих логах:

Started DELETE "/users/sign_out" for 127.0.0.1 at 2012-03-16 20:54:56 -0400
Processing by Devise::SessionsController#destroy as */*
Redirected to http://localhost:3000/
Completed 302 Found in 1ms (ActiveRecord: 0.0ms)

Итак, все правильно. Я попытался переустановить устройство без удачи.

В моих попытках отладки я вставил строку:

= session.inspect

В мой шаблон. Я обнаружил следующее:

{"session_id"=>"XXXXXXXXXX4b2aa9600eb3bee9921e05", "warden.user.user.key"=>["User", [1], "$2a$10$3/l/XXXXXXXXXXdhS.KCRe"], "_csrf_token"=>"XXXXXXXXXXVSp805CEN8U+GA4FcSWupcVLPH1RoacE8="}

Session_id и _csrf_token будут меняться после каждой попытки выхода из системы, но warden.user.user.key не будет меняться. (Обратите внимание, что я вычеркнул первые 10 символов каждой строки).

Кто-нибудь может объяснить это поведение?

Спасибо!

1 Ответ

0 голосов
/ 17 марта 2012

Я думаю, что это как-то связано с cookie-файлами сессии до Devise 2.0.4. Когда я открываю «Инкогнито» в моем Chrome, он работает как положено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...