2012-09-25 26 views
7

我有一个非独特的(其他人一定已经解决了这个问题)的问题。Rails session_store多个域

这种情况是我有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将是不同的会话。为了使事情更复杂,如果域能够共享会话,那么这将是理想的。

所以规则:与DOMAIN_B

  • DOMAIN_A股会话,并与所有的子域 在其中。很高兴能在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' 

但是我不知道,这是工作。 domain_e.com会话的作品,这是有道理的,因为它是最后的声明,任何想法?

回答