2012-03-30 48 views
3

我正在使用Devise來管理Rails 3.1應用程序中的身份驗證。它在我的生產服務器上工作得很好。但是我只是建立了一個新的測試服務器,如果我登錄到主站點,訪問子站點不會識別該會話。這是要求我再次登錄。設計管理的會話不會傳播到子域

我不記得我會在哪裏排除這些信息。看起來好像它是一些cookie設置。

我有指向每個站點,生產和測試的域名。產品以.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' 
} 

請注意:session_domain它設置爲.yourdomain.com使你的餅乾在跨子域工作。

這適用於會話。 Cookie有類似的設置。