2012-09-25 6 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は別のセッションになります。問題をより複雑にするには、ドメインが& b、c & dの場合でもセッションを共有できるのが理想的です。

だから、ルール: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セッションは最後の宣言であると思いますが、それはどんな考えですか?

答えて

5

参照:What does Rails 3 session_store domain :all really do? 選択された回答は、サブドメイン間の共通セッションとトップレベルドメイン間のセッションを許可するのに役立ちます。同じセッションを異なるトップレベルドメインで有効にするには、はるかに面倒ですが、おそらくこの質問はあなたを助けるかもしれません:Rails - Multiple top level domains and a single session/cookie

関連する問題