2012-09-25 18 views
7

Tengo un problema no único (otras personas deben haber resuelto esto) alrededor de las sesiones.Rieles session_store dominios múltiples

El escenario es que tengo 5 dominios de nivel superior (domain_a, domain_b, domain_c, domain_d, domain_e) y múltiples subdominios debajo de cada uno. Se requiere que mi aplicación comparta sesiones entre subdominios en el mismo dominio de nivel superior, por ejemplo, sub_1.domain_b.com & que sub2.domain_b.com puede compartir, pero sub_3.domain_c.com sería una sesión diferente. Para hacer las cosas más complejas, sería ideal si los dominios a & b, y c & d donde también poder compartir sesiones.

lo que las reglas:

  • DOMAIN_A acciones sesión con DOMAIN_B, y con todos los subdominios dentro de ellos. Feliz de que esté en un cookie_store

  • domain_c comparte la sesión con domain_d, y con todos los subdominios dentro de ellos. Feliz de que esté en un cookie_store

  • domain_e solo comparte su sesión dentro de sus subdominios. Esto debe estar en un active_record_store

¿Cómo puedo hacer esto?

He intentado crear un inicializador con el siguiente en:

MyApp::Application.config.session_store :cookie_store, :key => '_domain_a', :domain => '.domain_a.com' 

MyApp::Application.config.session_store :cookie_store, :key => '_domain_b', :domain => '.domain_b.com' 

MyApp::Application.config.session_store :cookie_store, :key => '_domain_c', :domain => '.domain_c.com' 

MyApp::Application.config.session_store :cookie_store, :key => '_domain_d', :domain => '.domain_d.com' 

MyApp::Application.config.session_store :active_record_store, :key => '_domain_e', :domain => '.domain_e.com' 

Sin embargo no estoy seguro de que esto está funcionando. La sesión de domain_e.com funciona, lo que tendría sentido ya que es la última declaración, ¿algún pensamiento?

Respuesta

Cuestiones relacionadas