aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslainer68 <slainer68@gmail.com>2011-05-10 16:11:28 +0200
committerslainer68 <slainer68@gmail.com>2011-05-10 16:11:28 +0200
commit95b49895593124d9be37ccfbee0f06229e7f4a5b (patch)
tree516e5bcd0f69dda43a835cd5d9d6b29e58631a33
parent8c05293b69e765f46a32d0fd4260d862fec2c113 (diff)
downloadrails-95b49895593124d9be37ccfbee0f06229e7f4a5b.tar.gz
rails-95b49895593124d9be37ccfbee0f06229e7f4a5b.tar.bz2
rails-95b49895593124d9be37ccfbee0f06229e7f4a5b.zip
Puts ActiveRecord::SessionStore attributes in white list, fixes #483
-rw-r--r--activerecord/lib/active_record/session_store.rb2
-rw-r--r--activerecord/test/cases/session_store/session_test.rb6
2 files changed, 8 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/session_store.rb b/activerecord/lib/active_record/session_store.rb
index 7e77aefb21..98e21db908 100644
--- a/activerecord/lib/active_record/session_store.rb
+++ b/activerecord/lib/active_record/session_store.rb
@@ -83,6 +83,8 @@ module ActiveRecord
cattr_accessor :data_column_name
self.data_column_name = 'data'
+ attr_accessible :session_id, :data, :marshaled_data
+
before_save :marshal_data!
before_save :raise_on_session_data_overflow!
diff --git a/activerecord/test/cases/session_store/session_test.rb b/activerecord/test/cases/session_store/session_test.rb
index cee5ddd003..669c0b7b4d 100644
--- a/activerecord/test/cases/session_store/session_test.rb
+++ b/activerecord/test/cases/session_store/session_test.rb
@@ -21,6 +21,12 @@ module ActiveRecord
assert_equal 'sessions', Session.table_name
end
+ def test_accessible_attributes
+ assert Session.accessible_attributes.include?(:session_id)
+ assert Session.accessible_attributes.include?(:data)
+ assert Session.accessible_attributes.include?(:marshaled_data)
+ end
+
def test_create_table!
assert !Session.table_exists?
Session.create_table!