2011-01-28 11 views
58

現在のセッションIDをどのようにしてレール3に入れることができますか?レールでセッションIDを見つける3

私は運で次のことを試してみた:

session[:session_id] 
session['session_id'] 
session[:id] 
session['id'] 
session.id 
session.session_id 

答えて

132

あなたは次のことを試しましたか?

request.session_options[:id] 
+2

それは私にとってはsession_idのように見えます:) – Austin

+42

Rails 4の 'session.id'です。 – Gunchars

+0

これは' rack'で導入された変更です。さらに詳しい情報は:https://github.com/rack/rack/pull/342 –

2

私は今それをテストすることはできませんが、私の知る限りセッションID変数がレール3上'session_id''id'から変更し、あなたを持っていますそれを試した?あなたのために働くことを願っています。

+0

いいえ、動作しません。 – Austin

+0

yeah..id変数がRails 3で 'id'から 'session_id'に変更されました。テーブルのIDにアクセスするにはどうすればよいですか? –

8

また、セッションIDを返します:あなたはあなたができるRailsのコンソールから与えられたセッションIDのセッションストアに書き込まれたデータを参照する必要がある場合は

session[:session_id] 
+1

です。セッション固定保護を 'reset_session'を使用して使用している場合は無効にします – NullVoxPopuli

+1

Rails 3.2.22 –

3

を:

a = Rails.application.config.session_store.new(app, Rails.application.config.session_options) 
a.class # => ActionDispatch::Session::RedisStore 
a.get_session(ENV, '07319b2485be9ac4850664cd47cede38') 


# or a.find_session(ENV, '07319b2485be9ac4850664cd47cede38') 

appをし、 ENVは、レールコンソールを起動したときに設定され、それらを設定する必要はありません。

session_idは、クッキーまたは(Cookieインスペクタ、Cookieマネージャなど)を扱うブラウザプラグインを介して入手できます。

関連する問題