aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/middleware/session
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2012-09-01 23:42:39 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2012-09-01 23:42:39 -0700
commitabd47c15b870ea3cdbe610a02df03e9425870417 (patch)
treeec0156814aeaa7f5dbec041af5955467d7ffc73d /actionpack/lib/action_dispatch/middleware/session
parenta6674991037fc360c7a72e7c28eec448f0231a3e (diff)
parent8bfcb0de3a2599925ce714cddc49d608ff8e03a8 (diff)
downloadrails-abd47c15b870ea3cdbe610a02df03e9425870417.tar.gz
rails-abd47c15b870ea3cdbe610a02df03e9425870417.tar.bz2
rails-abd47c15b870ea3cdbe610a02df03e9425870417.zip
Merge pull request #7495 from steveklabnik/issue_7478
Properly reset the session on reset_session
Diffstat (limited to 'actionpack/lib/action_dispatch/middleware/session')
-rw-r--r--actionpack/lib/action_dispatch/middleware/session/cookie_store.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/actionpack/lib/action_dispatch/middleware/session/cookie_store.rb b/actionpack/lib/action_dispatch/middleware/session/cookie_store.rb
index 9b159b2caf..019849ef95 100644
--- a/actionpack/lib/action_dispatch/middleware/session/cookie_store.rb
+++ b/actionpack/lib/action_dispatch/middleware/session/cookie_store.rb
@@ -44,6 +44,14 @@ module ActionDispatch
include StaleSessionCheck
include SessionObject
+ # Override rack's method
+ def destroy_session(env, session_id, options)
+ new_sid = super
+ # Reset hash and Assign the new session id
+ env["action_dispatch.request.unsigned_session_cookie"] = new_sid ? { "session_id" => new_sid } : {}
+ new_sid
+ end
+
private
def unpacked_cookie_data(env)