Rails session_store多个域

ABr*_*wne 8 subdomain session ruby-on-rails multiple-domains

我有一个非独特的(其他人必须解决这个)问题围绕会话.

方案是我有5个顶级域(domain_a,domain_b,domain_c,domain_d,domain_e),以及每个域下的多个子域.我的应用程序需要在同一顶级域中的子域之间共享会话,例如sub_1.domain_b.com和sub2.domain_b.com可以共享,但sub_3.domain_c.com将是不同的会话.为了使问题更复杂,如果域a和b以及c&d也能够共享会话,那将是理想的.

所以规则:

  • domain_a与domain_b共享会话,并与其中的所有子域共享.很高兴在cookie_store中

  • domain_c与domain_d共享会话,并与其中的所有子域共享.很高兴在cookie_store中

  • domain_e仅在其子域中共享其会话.这需要在active_record_store中

我怎样才能做到这一点?

我尝试使用以下内容创建初始化程序:

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'
Run Code Online (Sandbox Code Playgroud)

但是我不确定这是否有效.domain_e.com会话工作,这是有意义的,因为它是最后一个声明,任何想法?

Gno*_*met 5

请参阅:Rails 3 session_store域名是什么:所有这些都是真的吗? 选定的答案可能可以帮助您允许子域之间的常见会话和顶级域之间的单独会话.要使相同的会话在不同的顶级域中有效,要复杂得多,但也许这个问题可以帮助您转发:Rails - 多个顶级域和单个会话/ cookie