gpt4 book ai didi

ruby-on-rails - 设计:跨子域共享 session (用户状态)

转载 作者:数据小太阳 更新时间:2023-10-29 08:44:26 25 4
gpt4 key购买 nike

我使用 Rails 4.2、Ruby 2.2 和 Devise 3.5 设置了我的项目。

我有一个包含多个 sudomains 的应用程序,我希望在这些子域之间共享用户状态(登录/注销)。

我的 session 存储是这样设置的:

config.session_store :cookie_store, :key => '_app_name_session', :domain => '.name.app', :tld_length => 2

然而,这似乎没有做任何事情,因为当我在 Chrome 中检查 session 时,它被称为 _app_session,这是不正确的 session 名称,所以这让我认为 rails 忽略了这些设置。

我如何设置 Devise 以使用适用于所有不同子域的 session 来工作?

谢谢

最佳答案

我们将以下内容用于我们的子域:

# config/initializers/session_store.rb
# Be sure to restart your server when you modify this file.

Rails.application.config.session_store :cookie_store, key: '_[[name]]_session', domain: :all # tld_length info here: http://stackoverflow.com/questions/10402777/share-session-cookies-between-subdomains-in-rails/15009883#15009883

您应该尝试设置 domain: :all 并可能从散列中删除 tld_length

关于ruby-on-rails - 设计:跨子域共享 session (用户状态),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34597745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com