2016-04-26 36 views
7

Alt etki alanımda paylaşılabilir bir çerez oluşturmak istiyorum. Burada gösterilen SetCookie yöntemini kullanmaya çalışıyorum: Ben bir çerez oluşturur aşağıdaki yoksa https://www.playframework.com/documentation/1.4.x/api/play/mvc/Http.Response.html#setCookie-java.lang.String-java.lang.String-Yalnızca temel etki alanı için alt alan 1.x tanımlama bilgisi nasıl oluşturulur (alt etki alanı yok)

, ancak alan adı "xxxx.mydomain.com" ... yani tam domain:

response.setCookie("loggedIn", "true"); 

Aşağıdakileri yaparsam, çerez tarayıcımda hiç görünmez. Neyi yanlış yapıyorum?

response.setCookie("webLoggedIn", "true", ".mydomain.com", "/", 3600, false); 

denemek ve Kurabiyelerimi kırmaya görünüyor ayar application.defaultCookieDomain değiştirmek, ama ben de varsayılan set budur üretim alanınızdan farklı bir etki alanında test ediyorum çünkü onun düşünüyorum.

cevap

1

Yürütme Çerçevesi 1'de, application.defaultCookieDomainproperty ayarını yourdomain.com (önek noktası olmadan) gibi bir değere ayarlamak doğru yoldur. Bu sayede tüm çerezler sadece alan adına göre ayarlanacaktır. Bu ayarları .yourdomain.com ile kullanırsanız, tüm çerezler etki alanı dışında www.yourdomain.com veya another.yourdomain.com gibi tüm alt etki alanlarına görünür.

Sen o zaman gibi geliştirme ortamları ve specific domain for production ayarını varsayılan bir alan kullanabilir, üretim daha farklı bir alan üzerinde test ediyoruz söz: geçici olarak hosts dosyasını değiştirebilir, Alternatif

application.defaultCookieDomain=localhost 

# Production configuration 
%prod.application.defaultCookieDomain=yourdomain.com 

senin localhost ip üretim alanını, sorunu çözmek için (/ etc/Linux ve OSX üzerinde barındıran):

127.0.0.1 yourdomain.com 

Not: Play'de> mülkiyet session.domain ve Oynat> = 2.4 mülkü tarihinde değiştirildi = 2.1 değişmiş tekrar play.http.session.domain'a.