有没有办法指定cookie应保存到的子域? (而不是一个或全部)

时间:2012-02-29 17:36:50

标签: ruby-on-rails session-variables session-cookies

我通过以下方式将会话变量保存到我网站上的所有子域:

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)共享会话变量。但是,这些是唯一应该能够分享它的人。有没有办法指定?

1 个答案:

答案 0 :(得分:0)

我假设你在 signin.site.com 这样的子域上处理登录。不允许为 * .site.com 设置cookie。

处理身份验证并从 http://site.com 设置Cookie应该可以解决问题。