2010-02-19 7 views
6

मैं अपने Grails एप्लिकेशन के लिए एक कस्टम SpringSecurityFilter काम कर रहा हूं और मैं अनुरोध को संसाधित करने के लिए कॉमन्स अपलोड लाइब्रेरी का उपयोग करने की कोशिश कर रहा हूं। मैं फिल्टर में अनुरोध को संसाधित करने में सक्षम हूं लेकिन एक बार यह मेरे नियंत्रक के पास आता है, तो कोई भी मूल्य उपलब्ध नहीं है।क्या ServletFileUpload.parseRequest() केवल प्रति अनुरोध एक बार बुलाया जा सकता है?

क्या एचटीपीआरवेस्ट केवल अपलोड लाइब्रेरी द्वारा संसाधित किया जा सकता है? मुझे लगता है कि यह अस्थायी फ़ाइलों को साफ कर रहा है। क्या उन्हें चारों ओर रखने का कोई तरीका है ताकि उन्हें नियंत्रक स्तर पर फिर से संसाधित किया जा सके?

मुझे सुरक्षा के लिए एक फॉर्म पैरामीटर पूछताछ करने की आवश्यकता है (क्लाइंट के कारण मैं इसे http शीर्षलेख में नहीं जोड़ सकता) लेकिन एक बार जब मुझे मूल्य मिलता है, तो ऐसा लगता है कि आगे की प्रक्रिया के लिए अनुरोध मिटा दिया गया है।

+0

हाय TGM, मैं तुम्हारा के रूप में ही सवाल है। क्या आपको समाधान मिल गया? –

+0

अभी तक नहीं। मैंने कस्टम सुरक्षा फ़िल्टर लिखने की कोशिश की लेकिन कोई सफलता नहीं मिली। हमने सामान्य प्रमाणीकरण के लिए हेडर जोड़े और अब समस्या के आसपास होने के लिए सत्र प्रमाणीकरण के साथ गए। जब मुझे समय मिलता है, तो मैं इसके बजाय शिरो का उपयोग करने या कस्टम grails प्रमाणीकरण फ़िल्टर (जो काम) का निर्माण करने की कोशिश करने की योजना बना रहा हूं। यदि आप SpringSecurity से बंधे नहीं हैं तो Grails फ़िल्टर मार्ग का प्रयास करें। – ahanson

उत्तर

4

हां। एक अनुरोध केवल एक बार पार्स किया जा सकता है।

मैंने फ़ाइलउप्लोड के लिए अपाचे के अक्सर पूछे जाने वाले प्रश्न पृष्ठ पर यह उत्तर देखा।

प्रश्न: parseRequest() कोई आइटम वापस क्यों नहीं कर रहा है?

उत्तर:। "यह सबसे अधिक होता है जब अनुरोध पहले से ही पार्स किया गया है, या किसी अन्य तरीके से संसाधित के बाद से इनपुट धारा aleady कि पहले प्रक्रिया से भस्म कर दिया गया है, यह कॉमन्स द्वारा पार्सिंग के लिए अब उपलब्ध नहीं है फाइल अपलोड।"

संदर्भ: http://commons.apache.org/fileupload/faq.html

संबंधित मुद्दे