gpt4 book ai didi

ruby-on-rails - 在 Rails 中的子域之间共享 session (cookie)?

转载 作者:行者123 更新时间:2023-12-03 05:05:10 24 4
gpt4 key购买 nike

我有一个应用程序设置,其中每个用户都属于一个公司,并且该公司有一个子域(我正在使用 basecamp 样式子域)。我面临的问题是,rails 正在创建多个 cookie(一个用于 lvh.me,另一个用于 subdomain.lvh.me),这导致我的应用程序中出现相当多的中断(例如,尽管一次所有请求,闪存消息仍然持续存在)已登录)。

我的/cofig/initilizers/session_store.rb 文件中有这个:

AppName::Application.config.session_store :cookie_store, key: '_application_devise_session', domain: :all

域名: :all 似乎是我在 Google 上找到的标准答案,但这似乎对我不起作用。任何帮助表示赞赏!

最佳答案

事实证明,“domain: all”为该 session 期间访问的所有不同子域创建一个 cookie(并确保它们在请求之间传递)。如果没有传递任何域参数,则意味着为同一 session 中访问的每个不同域创建一个新的 cookie,并丢弃旧的 cookie。我需要的是一个在整个 session 过程中保持不变的 cookie,即使域发生变化也是如此。因此,通过传递 domain: "lvh.me" 解决了开发中的问题。这会创建一个保留在不同子域之间的 cookie。

对于任何需要进一步解释的人来说,这是一个很好的链接: http://excid3.com/blog/sharing-a-devise-user-session-across-subdomains-with-rails-3/

关于ruby-on-rails - 在 Rails 中的子域之间共享 session (cookie)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10402777/

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