セッションに関して、固有ではない (他の人がこれを解決したに違いない) 問題があります。
シナリオは、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'
ただし、これが機能しているかどうかはわかりません。domain_e.com セッションは機能します。これは最後の宣言であるため、これは理にかなっています。何か考えはありますか?