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

你确定吗?如果不是,它应该是一个评论。 –