0

我想分享子域之間的會話,但我不能。設計子域之間的會話共享

我跟着這個Devise config,但它沒有奏效。

這是如何我/etc/hosts文件看起來像:

127.0.0.1  localhost 
127.0.0.1  apedraza.bejoy.local 
127.0.0.1  bejoy.local 
127.0.1.1  augusto-Lenovo-G580 
127.0.0.1  api.the_genesis.com 

# The following lines are desirable for IPv6 capable hosts 
::1  ip6-localhost ip6-loopback 
fe00::0 ip6-localnet 
ff00::0 ip6-mcastprefix 
ff02::1 ip6-allnodes 
ff02::2 ip6-allrouters 

和我配置/初始化/ session_store.rb

Rails.application.config.session_store :cookie_store, key: '_bejoy_session', domain: ".bejoy.local" 

在我bejoy.local:5000/users/sign_in,我創建了一個帳戶(子域爲apedraza),並將其重定向到apedraza.bejoy.local:5000/admin,但路由重定向到apedraza.bejoy.local:5000/users/sign_in,這是因爲無法找到會話。

我有導軌應用程序到Docker容器中,所以不知道這可能是一個問題。

回答

0

感謝@iashraf的回覆。

我已經試過,但沒有爲我工作。

但是,從頭開始創建一個新的rails項目後,我可以看到該配置是正確的。

所以感謝的是,我發現問題是在其他地方: 我重新寫爲設計註冊控制器,我搞砸了,因爲我用了redirect到一個子域的super塊。

最後,我刪除了super塊的重定向,並將url_path放在了after_sign_up_path_for上,這個工作正常!

1

嘗試:

配置/初始化/ session_store.rb

Rails.application.config.session_store :cookie_store, key: '_bejoy_session', domain: :all 

注意上面一行:domain: :all

(不要忘記重啓軌和清除Cookie)

+0

你確定嗎?如果不是,它應該是一個評論。 –