我正在构建一个可以通过不同域访问的应用程序。根据访问它的域名,它的行为会略有不同。
我希望能够做的是,一旦有人从一个域登录,当他们来自不同的域时,他们不应该要求注册,而应该自动登录。
我的猜测是这将需要在域之间共享 cookie 数据。有人可以指出我应该如何实现这一目标吗?
我知道还有其他网站网络会这样做,例如 http://graphicriver.net/ 和 http://audiojungle.net/,您只需登录其中一个即可使用其所有网站。
最佳答案
配置/初始化程序/session_store.rb
ProjectName::Application.config.session_store :cookie_store, key: '_ProjectName_session',
domain: :all,
tld_length: 2
然后你还需要清除cookies。
UPD:我之前的回答是错误的,我忘记添加
tld_length
选项,因此顶级域长度超过 1 的域之间不会共享 session (myapp.local 的 tld_length 为 2)。现在答案是正确的。关于ruby-on-rails - 在多个域之间共享用户 session ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8262844/