Rails session_store用于多个域

时间:2015-11-06 09:50:36

标签: ruby-on-rails session

我有一个基本的子域集:

lvh.me:3000i
api.lvh.me:3000

mydomain.com
www.mydomain.com
api.mydomain.com

具体而言,api域需要在redis会话存储上。所以我试图设置我的会话存储,但它似乎不起作用。

Rails.application.config.session_store :cookie_store, key: '_my_domain', domain: "mydomain.com"

Rails.application.config.session_store :redis_store, key: '_my_dmoain', domain: "api.mydomain.com", servers: {
    host: REDIS_CONFIG["host"],
    port: REDIS_CONFIG["port"],
    db: REDIS_CONFIG["db"],
    password: REDIS_CONFIG["password"],
  }

如何设置session_store.rb文件?

1 个答案:

答案 0 :(得分:0)

您需要使用tld_length开关:

Rails.application.config.session_store :cookie_store, key: '_my_domain', domain: :all, tld_length: 2

信息在这里:Share session (cookies) between subdomains in Rails?