SORU
30 EKİM 2010, CUMARTESİ


Raylar 3 session_store etki alanı :tüm gerçekten ne yapar?

Güncel daha açık bir soru

Senin session_store etki bu gibi alanları arasında oturumları paylaşmak için ayarlayabilirsiniz anlıyorum: Rails.application.config.session_store :cookie_store, :key => '_my_key', :domain => "mydomain.com"

3 ayarı :domain => :all ne yapar? Raylar Üst düzey etki alanları arasında oturumları paylaşmak, kurabiye yapamam izin veremem. Belgeleri bir üst düzey etki alanı varsayar diyor. Birden çok etki app erişim gelirse ne olur?

Benim app, ben kullanıcıların bir ana etki alanının alt etki alanları oluşturmak kişisel olabilir, ama o zaman da kendi özel etki alanı ile bu alt erişebilir.

Doğru session_store etki eden ayar nedir: a) birincil etki alanı, örneğin benim tüm etki alanları arasında paylaşım oturumları "mydomain.com" b) kendi kişisel etki alanı erişimi olan kullanıcılar "" "some.otherdomain.com" hala ayrı oturumlar oluşturabilirsiniz. CNAME gibi özel bir url üzerinden user1.mydomain.com eg

Teşekkürler

CEVAP
1 Kasım 2010, PAZARTESİ


TAMAM, bunu gerçekleştirmek için yol üzerinde oturum etki alanı dinamik olarak çerez ayarlamak için. Bu kadar erken yapmak için raf katman olarak yapılmalıdır:

# Custom Domain Cookie
#
# Set the cookie domain to the custom domain if it's present
class CustomDomainCookie
  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)
    host !~ /#{@default_domain.sub(/^\./, '')}/i
  end
end

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Samantha Crain

    Samantha Cra

    30 EKİM 2008
  • The Verge

    The Verge

    8 AĞUSTOS 2006
  • TotalxLuna

    TotalxLuna

    27 Kasım 2011