我有一个应用程序设置,每个用户都属于一个公司,该公司有一个子域名(我使用的是basecamp样式的子域名).我面临的问题是rails正在创建多个cookie(一个用于lvh.me,另一个用于subdomain.lvh.me),这在我的应用程序中造成了相当多的中断(例如flash消息在所有请求中都是持久的签到).
我在/cofig/initilizers/session_store.rb文件中有这个:
AppName::Application.config.session_store :cookie_store, key: '_application_devise_session', domain: :all
Run Code Online (Sandbox Code Playgroud)
域名:所有似乎都是我在谷歌上找到的标准答案,但这似乎对我不起作用.任何帮助表示赞赏!
我的应用程序的注册和登录过程发生在安全的子域中.出于这个原因,我修改config/initializers/session_store.rb了一下
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
Run Code Online (Sandbox Code Playgroud)
这样就可以跨子域共享会话.
如何在子域之间共享永久性cookie,以便当我在一个子域上设置永久性cookie时cookies.permanent[:some_key] = 'some value',我可以通过另一个子域访问该cookie cookies[:some_key]?