2011-04-12 30 views
7

Sitemde dapshare.com adresinde hem kök adres hem de 'www' alt alan adı için çerezler çalışıyorum. Bu bir fark yaratmak için görünmüyorSubdomain çerez paylaşımı çalışmıyor (Heroku'da)?

Dapshare::Application.config.session_store :cookie_store, :key => '_dapshare_session', :domain => :all 

:

diğer stackoverflow cevapları (ve bu konuda büyük bir Railscasts vid) Bir çok session_store.rb için bu satırı ekleyerek tavsiye ettiler ben giriş yaparsanız dapshare.com'da hala www.dapshare.com adresinde oturum açmıyorum.

Burada yanlış bir şey yapıyorum? Ben çerez içinde bilgi depolamak için aşağıdaki kodu kullanıyorum: Herhangi bir yardım için

cookies.permanent.signed[:thing_to_store] = store_information 

Teşekkür!

+0

Çerezleri tarayıcı ayarlarınızda görüntüleyebilmeniz gerekir, burada "domain" özelliği ayarlanmış mı? –

+0

İlginç. Sadece www.dapshare.com adresinde giriş yaptınız. Bu, www.dapshare.com için 'remember_token' olarak oluşturuldu, ancak dapshare.com için bir '_dapshare_session' oluşturdu. Bu, yukarıda kullandığım kodun (cookies.permanent ...) session_store alan adını toplamadığı anlamına mı geliyor? –

+0

(btw, remember_token, oturum açmış olan kullanıcının kimliğini saklamak için kullandığım şeydir) –

cevap

12

Kısa cevap: '[: new_cookie] çerezleri =' kullanarak session_store yapılandırma ayarlarından domain kapmak için görünmüyor. Yeni çerezine etki alanını ve şimdi işler:

ekledim

cookies.permanent.signed[:new_cookie] = {:value => new_value, :domain => ".dapshare.com"} 

başkasının okuma için, ayrıca etki alanını belirlemek için gereken çerez silerken

cookies.delete :new_cookie, :domain => ".dapshare.com" 

(Teşekkür Tanı Andrew Marshall ile ilgili yardımınız için.)

+0

Tüm çerezlerim için bu varsayılanı istiyorsam ne olur? Bunun senin için yapacağı bir yapılandırma yok mu? :( – nzifnab

+0

Bulmama rağmen - hala cevabımda listelenen yaklaşımı kullanıyorum. Yine de bir şey bulursan bana haber ver! –

2

Geçerken bu sorunla karşılaştım: her şey düzgün çalışmıyor gibi görünüyor. Aşağıdaki alt alan adları deneyin yalnızca kullanmak istiyorsanız:

Dapshare::Application.config.session_store :cookie_store, :key => '_dapshare_session', :domain => '.dapshare.com' 
+0

Teşekkürler dombesz - Bunu hiç şanssızlıkla denedim. _dapshare_session çerezi dapshare.com adresinden tasarruf edecekti, ancak kuralı saklamak için kullandığım kod (soruya bakın) www.dapshare.com adresine kaydedildi. Sorunu, kuralı ayarlarken etki alanını açıkça belirterek şimdi düzelttim. –

5

Çerezlerinizi sadece domain => kullanarak belirleyebilirsiniz: all all domain => '.dapshare.com' yerine Rails 3.1 +:Bir dize etki alanının tam olarak belirlenmesinden daha esnek olan bu daha esnektir. Artık uygulamanız farklı bir üretim alanında kırılmayacak.