0
我有我的會話變量正在通過這種保存到所有子域上我的網站:有沒有辦法指定cookie應保存到的子域? (而不是一個或全部)
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)共享會話變量。但是,這些是唯一應該能夠分享的人。有沒有一種方法來指定?
site.com已被用於我的營銷頁面......但我想我可以嘗試將它放在site.com/login。然而,那麼會話將不會從site.com持續到account1.site.com,因爲它是一個不同的子域,這就是我所需要的。我正在考慮在application_controller中創建一個before_filter來基本檢查current_account.subdomain == request.subdomain ...但不會有人能夠更改他們的current_account信息來解決這個問題嗎? – 2012-02-29 18:22:46
該cookie也被提供給account1.site.com以及它已被設置爲.site.com。確保您沒有使用www.site.com。 – iltempo 2012-02-29 18:26:22
對不起,我很困惑這個評論...你是什麼意思?我創建了一個before_filter來檢查用戶是否在正確的帳戶上,是否有任何方式來操縱會話cookie(我相信加密)嘗試訪問其他人的帳戶? – 2012-02-29 18:34:37