2011-01-28 14 views
58

¿Cómo puedo obtener la identificación de la sesión actual en los raíles 3?Encontrar el ID de la sesión en raíles 3

He intentado lo siguiente sin suerte:

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

Respuesta

132

¿Ha intentado lo siguiente?

request.session_options[:id] 
+2

Bueno, eso me parece un session_id :) – Austin

+42

Es 'session.id' en Rails 4. – Gunchars

+0

Se introdujo el cambio en' rack'. Más información en: https://github.com/rack/rack/pull/342 –

2

no puedo probarlo ahora mismo, pero por lo que yo sé la variable de sesión ID cambiado 'id'-'session_id' en los carriles 3, que tienen ¿lo intentaste? Espero que funcione para ti.

+0

No, no funciona. – Austin

+0

yeah..id variable cambió de 'id' a 'session_id' en Rails 3. ¿Qué hacer para acceder a la id de la tabla? –

8

También devuelve el identificador de sesión:

session[:session_id] 
+1

no si está utilizando la protección de la sesión de sesión mediante 'reset_session' – NullVoxPopuli

+1

No funciona en Rails 3.2.22 –

3

Si necesita ver los datos escritos en el almacén de sesión para determinado identificador de sesión de rieles consola, usted puede:

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 y ENV se configuran al iniciar la consola de rieles, no es necesario configurar esos

puede obtener el session_id a través de un plugin de navegador que trata con cookies o (inspector de cookies, administrador de cookies, ...)

Cuestiones relacionadas