2011-06-10 88 views
6

我的應用程序的註冊和登錄過程發生在一個安全的子域。出於這個原因,我已經修改config/initializers/session_store.rb看起來像Rails:如何跨多個子域共享永久Cookie?

if Rails.env.production? 
    AppName::Application.config.session_store :cookie_store, :key => '_app_name_session', :domain => '.app_name.com' 
else 
    AppName::Application.config.session_store :cookie_store, :key => '_app_name_session' 
end 

,從而使會話可以跨子域共享。

我如何共享永久的Cookie翻過子域,這樣,當我通過cookies.permanent[:some_key] = 'some value'上一個子域設置一個永久性的Cookie ,我可以在其他子域通過cookies[:some_key]訪問餅乾嗎?

回答

3

你需要使用一個更詳細的cookie設置方法來指定域:

cookies[:some_cookie] = { 
    :value => "whatever", 
    :domain => ".app_name.com", 
    :expires => 1.year.from_now.utc 
} 

我還沒有找到一個配置設置來做到這一點還沒有在全球範圍。