用户在具有子域的页面上时会被注销。

时间:2014-05-28 12:40:10

标签: ruby-on-rails devise

我有一个User,设置为Devise

用户可以拥有自己的页面(带子域名)。 喜欢:awesomeuser.domain.com

在登录后的localhost上,我可以访问子路径和子域路径 - 并且他已登录。

但是在生产服务器上,当他访问子域名的路径时 - 他会退出。

有谁知道它可能是由什么造成的?

因为它适用于本地机器 - 我知道它的会话,但究竟是什么?

这是我的config/initializers/session_store.rb

MyApp::Application.config.session_store :cookie_store, key: '_MyApp_session', domain: :all

1 个答案:

答案 0 :(得分:0)

我们遇到了这个问题 - 问题是您的session只能在一个域之间传递。解决方案是使用domain: :all,但是,当您使用subdomain时,您必须指定Cookie有效的域级别,因此tld_length: 2

MyApp::Application.config.session_store :cookie_store, key: '_MyApp_session', domain: :all, tld_length: 2 

我们在这里找到答案:Share session (cookies) between subdomains in Rails?