gpt4 book ai didi

ruby-on-rails - Rails - 使用 Rack 的动态 cookie 域

转载 作者:行者123 更新时间:2023-12-03 17:21:33 25 4
gpt4 key购买 nike

我是 Rails 和 Rack 的新手,但这个人写了一篇看似简单的关于使用 Rack to implement dynamic session domain middleware 的文章。 .代码看起来不错,我已经在我的本地机器上实现了它,但我仍然无法在单次登录时超越顶级域。

下面是中间件代码:

class SetCookieDomain
def initialize(app, default_domain)
@app = app
@default_domain = default_domain
end

def call(env)
host = env["HTTP_HOST"].split(':').first
env["rack.session.options"][:domain] = custom_domain?(host) ? ".#{host}" : "#{@default_domain}"
@app.call(env)
end

def custom_domain?(host)
domain = @default_domain.sub(/^\./, '')
host !~ Regexp.new("#{domain}$", Regexp::IGNORECASE)
end
end

然后在 environment.db 中:
config.load_paths += %W(#{RAILS_ROOT}/app/middlewares)

最后在 production.db(和 development.db)中:
config.middleware.use "SetCookieDomain", ".example.org"

任何帮助是极大的赞赏。

编辑:我正在运行 Rails 2.3.3 和 Rack 1.0

最佳答案

我有类似的问题让它在开发模式下工作。当我尝试使用本地主机时,我无法让它工作。但是,通过在/etc/hosts 中配置的域访问它以指向 localhost,例如 computer.local,我能够让它工作。

关于ruby-on-rails - Rails - 使用 Rack 的动态 cookie 域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1204389/

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