2012-09-25 32 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會話的作品,這是有道理的,因爲它是最後的聲明,任何想法?

回答