Rails and Rack'a oldukça yeni geldim, ancak bu adam Rack to implement dynamic session domain middleware'u kullanma konusunda açık sözlü bir yazışmaya sahipti. Kod iyi görünüyor ve yerel makinemde uygulamam mümkün değil, ancak üst düzey etki alanlarını hala tek bir oturum açmada aşabiliyorum. environment.db sonraRaylar - Rack kullanarak dinamik çerez alan adları
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
Ve: production.db içinde
config.load_paths += %W(#{RAILS_ROOT}/app/middlewares)
Son olarak (ve development.db):
config.middleware.use "SetCookieDomain", ".example.org"
Herhangi İşte
katman kod yardım büyük beğeni topluyor.DÜZENLEME: Rails 2.3.3 çalıştıran ve ben geliştirme modunda çalışmak için bu alma benzer sorunlar vardı 1.0