2011-06-10 75 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 
} 

我还没有找到一个配置设置来做到这一点还没有在全球范围。