2012-03-30 12 views
3

私は、Deviseを使用してRails 3.1アプリケーションの認証を管理しています。私のプロダクションサーバーでうまく動作します。しかし、私はちょうど新しいテストサーバーを設定しました。私がメインサイトにログインすると、サブドメインにアクセスすることはセッションを認識していません。もう一度ログインするように求めています。Devise管理のセッションがサブドメインに伝播しない

私はこの情報のトラブルシューティングをどこか思い出すことができません。あたかもクッキー設定のようです。

各サイト、制作、テストを指すドメインがあります。プロダクションは.netで終わり、テストバージョンは.coで終わります。

誰でも正しい方向に向けることができますか?

答えて

4

これは賢明な設定ではなく、セッションとCookieの設定だと思います。

あなたは、あなたのenvironment.rbファイルやあなたのconfig/initializers/session_store.rbでこれを行うことができ、可変YourApp::Application.config.session

を設定することで、この上で動作することができます。 session_store.rbのための例は、

YourApp::Application.config.session = { 
:session_domain => '.yourdomain.com', 
:session_key => '_yourapp', 
:expire_after => 14*24*3600, 
#:secure => true, #for secure/ssl sessions and such 
:secret  => 'somesecretgobledygook' 
} 

ある.yourdomain.comに設定するsession_domainがあなたのクッキーは、サブドメイン間で機能になりますのでご注意ください。

これはセッションに適用されます。クッキーには同様の設定があります。