2011-06-16 22 views
8

JSF 2.0 Flash kapsamının bir çerez aracılığıyla Mojarra 2.x'te uygulandığını öğrendim. Görünüşe göre, A görünümünden Flash'ı kullanarak B'yi görüntülemek için gezinirken, JSF bir yönlendirme yanıtı gönderir. Set-cookie başlığını içeren aynı cevaptır.Flash kapsamı yarış koşullarından muaftır?

Çerezler tarayıcı için küresel olduğundan, bu durumun bir yarış koşuluna yol açmasının ne olduğunu merak ediyorum. Çerez yönlendirme yanıtı sırasında ayarlandığından, HTTP özelliklerinin, tarayıcının yanıt olarak yanıtladığı isteğinin, her zaman bu çerezi kullanmaya ilk defa izin vereceğini garanti etmeyi denedim. Bununla birlikte, genel olarak, eğer bu ilk talep bir şekilde duraklatılmışsa (İnternet, söz konusu talebi dünyanın dört bir yanına yönlendirmeye karar verdiğinden), ve sonra başka bir sekmeden gelen ikinci bir talep geldiğinde, hala bir sorun olabilir. önce sunucu.

Çerez, iki sayfa arasında flaş kapsamı olarak kullanmak için korkunç bir fikir değil mi, yoksa bir şeye bakıyorum ve tamamen güvenli mi? Bir dosya veya bir tanımlama bilgisi gibi bir kaynak varsa, her zaman bir yarış koşulu olmak için bir şans olacaktır.

+0

Bir cevabınız yok, ancak bu bir şekilde ilgili: http://stackoverflow.com/questions/3343147/removing-jsf-messages-from-the-flash/6404047 –

+0

OP ayrıntıları vermiyor, ama burada kimse flaş kapsamı çalışmadığı hakkında şikayet ediyor: http://stackoverflow.com/questions/6398308/jsf-mojarra-flash-scope-problems – akira

cevap

2

Ama araştırmalısın, nasıl önlenmeli.

Mükemmel kaydetme özelliğine sahip olmanın cevabı EJB 3.0 Çünkü işlem güvenlidir çünkü EJB 3.0 kullanıyoruz. Aynı şekilde bir veritabanına veri eklemek için bir EJB'ye bir istek iletiriz, flaş kapsamınız ile bir EJB'yi bir negatifleştirici olarak kullanarak etkileşim kurabilirsiniz. Bu sayede işleminiz güvenceye alınacak ve bu da yarış koşullarının risksiz olacağı anlamına geliyor.

+0

Hmmm ... bu iki şeyi de aynı şeyi yapmasını engelleyecektir. Ama bence bu durumda, cookie’yi, yani yanlış pencereyi ya da sekmeyi göndermenin yanlış isteği hakkında. EJB3, ne kadar büyük olursa olsun, oraya yardım edemez. –