我有一個博客子域可以很好地運行,但是,簽名與所有子域都是分離的,因此,如果用戶登錄他的cookie,只能在非子域頁面上有效。我如何設置我的應用程序使Cookie在所有子域和普通頁面中都有效?通過子域共享一個cookie
我通過這個主題:Share session (cookies) between subdomains in Rails?,但不幸的是沒有成功。我甚至嘗試了一步一步的機架中間件方法,但沒有成功。
我正在使用Rails 3.2.13。
任何幫助表示讚賞! :)
我有一個博客子域可以很好地運行,但是,簽名與所有子域都是分離的,因此,如果用戶登錄他的cookie,只能在非子域頁面上有效。我如何設置我的應用程序使Cookie在所有子域和普通頁面中都有效?通過子域共享一個cookie
我通過這個主題:Share session (cookies) between subdomains in Rails?,但不幸的是沒有成功。我甚至嘗試了一步一步的機架中間件方法,但沒有成功。
我正在使用Rails 3.2.13。
任何幫助表示讚賞! :)
我所需要做的就是在創建cookie時指定域,如前面所述。
cookies[:remember_token] = { value: user.remember_token, domain: ".lvh.me" }
把domain: all
在該行的末尾在你的配置/ session_store.rb
如。
YourApp::Application.config.session_store :encrypted_cookie_store, key: '_yourapp_session', domain: :all
您可能還需要在你的config /環境/ production.rb
config.action_dispatch.tld_length = 2
更改此參數。如果您的域名是example.com
那麼你tld_length(頂級域名長度)爲1(這是默認)。 example.com.au
是2,127.0.0.1.xip.io
是5,依此類推。
通過域名應該工作...你確定你測試正確嗎? – aguynamedloren
你能詳細說明一下嗎?我對cookies沒有太多經驗。看,用戶登錄時發生這種情況:cookies [:remember_token] = user.remember_token。一個標準的標準cookie。我怎樣才能使這個cookie與所有子域一起工作呢? –
您是否試過':cookie_store,:key =>'_your_app_session',:domain =>「.yourdomain.com」'? –