4

我正在构建可通过不同域访问的应用程序。根据从中访问的域名,它的行为会稍有不同。在多个域之间共享用户会话

我希望能够做的是,一旦有人从一个域登录,他们不应该需要从不同的域来了,应该在自动登录时进行登记。

我的猜测是,这将需要在域之间共享cookie数据。有人能指出我应该如何去完成这个吗?

我知道还有其他的网站可以这样做,比如http://graphicriver.net/http://audiojungle.net/,你只需登录一个网站就可以使用他们的所有网站。

回答

4

配置/初始化/ session_store.rb

ProjectName::Application.config.session_store :cookie_store, key: '_ProjectName_session', 
                  domain: :all, 
                  tld_length: 2 

然后你还需要清除Cookie。

UPD:我之前的回答是错误的,我忘了添加tld_length选项,所以会话不在顶级域名长度超过1的域之间共享(myapp.local的tld_length为2)。现在答案是正确的。

+0

@alik是否适合您? –

+1

我得到'ActionController :: InvalidAuthenticityToken' – stereodenis