2010-02-19 19 views
6

Grails uygulamam için özel bir SpringSecurityFilter çalışıyorum ve isteği işlemek için commons yükleme kütüphanesini kullanmaya çalışıyorum. Filtrede isteğimi işleyebiliyorum, ancak denetleyicime ulaştıktan sonra, hiçbir değer mevcut değil. Can ServletFileUpload.parseRequest() istek başına yalnızca bir kez çağrılabilir mi?

HttpRequest yüklemenin yalnızca kütüphanede bir kez işlenebilir mi? Tahminim geçici dosyaları temizliyor. Kontrolör seviyesinde tekrar işlenebilmeleri için onları uzak tutmanın bir yolu var mı?

Güvenlik için bir form parametresi sorgulamam gerekiyor (istemciye http başlıklarına ekleyememekten dolayı), ancak değeri aldığımda, daha fazla işlem isteğini siliyor gibi görünüyor.

+0

hi tgm i sizinkiyle aynı soru var. Çözümü buldunuz mu? –

+0

Henüz değil. Özel güvenlik filtreleri yazmayı denedim ama başarıya ulaşamadı. Normal kimlik doğrulaması için başlıklar ekledik ve şu ana kadar sorunu çözmek için oturum kimlik doğrulaması ile gittik. Zamanı aldığımda, Shiro kullanmayı deneyin veya özel derecelendirme filtreleri (bu işe yarayan) oluşturmayı planlıyorum. SpringSecurity'e bağlı değilseniz, Grails Filters yolunu deneyin. – ahanson

cevap

4

Evet. İstek yalnızca bir kez ayrıştırılabilir.

FileUpload için Apache'nin SSS sayfasında bu cevabı gördük.

Soru: Neden parseRequest() hiç ürün dönüyor?

Cevap:. "Bu en yaygın giriş akışı aleady bu sürecin başlarında tüketilen beri istek zaten çözümlenir veya başka bir şekilde işlendiğinde olur, bu Commons tarafından ayrıştırma için artık mevcut değil Dosya yükleme."

Referans: http://commons.apache.org/fileupload/faq.html

İlgili konular