红宝石-在Rails 3中找到会话ID

如何在Rails 3中获取当前会话ID?

我已经尝试了以下方法,但是没有运气:

session[:session_id]
session['session_id']
session[:id]
session['id']
session.id
session.session_id
Austin asked 2019-10-08T06:16:07Z
4个解决方案
136 votes

您是否尝试过以下方法?

request.session_options[:id]
splicer answered 2019-10-08T06:16:19Z
8 votes

它还返回会话ID:

session[:session_id]
whatbird answered 2019-10-08T06:16:43Z
3 votes

如果需要从Rails控制台查看给定会话ID的写入会话存储的数据,则可以:

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')

启动Rails控制台时已设置session_idENV,无需设置这些

您可以通过一些处理Cookie的浏览器插件获得session_id或(Cookie检查器,Cookie管理器,...)

equivalent8 answered 2019-10-08T06:17:22Z
2 votes

我现在无法对其进行测试,但据我所知,在Rails 3上,会话ID变量已从'id'更改为2559829999037711711,您是否尝试过那个? 希望对你有效。

RinoFM answered 2019-10-08T06:17:47Z
translate from https://stackoverflow.com:/questions/4824829/finding-the-session-id-in-rails-3