2012-03-17 12 views
1

railsプロジェクトをrails 3.2.2とDevise 2.0.4にアップグレードした後、もうログアウトできなくなりました。私はthis issueを経験していません。代わりに、ログアウトをクリックしてもログアウト状態になることはありません。ユーザオブジェクトはまだ有効で、まだcurrent_userが存在します。ログの内容は次のとおりです。Rails 3.2.2とDevise 2.0.4にアップグレードした後、logoutでセッションが破棄されない

Started DELETE "https://stackoverflow.com/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文字を空白にしたことに注意してください)。

誰でもこの動作を説明できますか?

ありがとうございます!

答えて

0

これは、Devise 2.0.4以前のセッションCookieと関係があると思います。私のChromeで「シークレット」を開くと、期待どおりに動作します。

+0

どのように非シークレット用に修正しましたか? – Trip

関連する問題