我通过以下方式将会话变量保存到我网站上的所有子域:
Site::Application.config.session_store(
:cookie_store,
:key => '_site_session',
:domain => Settings.domain,
# :secure => (Rails.env.production? || Rails.env.staging?),
:http_only => true)
其中Settings.domain ='。site.com'
但是,我的网站设置方式,每个帐户都有自己的子域名。所以这引起了一个很大的错误,因为当有人登录时,他们可以进入任何其他子域并访问该帐户(不是所有信息,但有些......很奇怪)。
所以,我想要做的是允许人们与公共子域(signin.site.com和signup.site.com)以及他们自己的个人子域(account1.site.com)共享会话变量。但是,这些是唯一应该能够分享它的人。有没有办法指定?
答案 0 :(得分:0)
我假设你在 signin.site.com 这样的子域上处理登录。不允许为 * .site.com 设置cookie。
处理身份验证并从 http://site.com 设置Cookie应该可以解决问题。