2012-12-09 6 views
6

मैं एक्सप्रेस + मोंगोस + पासपोर्ट + कनेक्ट-मोंगो का एक सीधा सेटअप का उपयोग कर रहा हूं, और सब कुछ ठीक काम करता है। एकमात्र चीज जो मुझे परेशान कर रही है, यह है कि मैं passport.unserializeUser को स्थिर फाइलों के लिए भी बुला सकता हूं, जो कि - मेरे आवेदन बिंदु से - बिल्कुल व्यर्थ है।एक्सप्रेस: ​​क्या स्थिर फाइलों के लिए सत्र बाईपास करना संभव है?

मैं समझ सकता हूं कि ऐसे मामले हैं जहां आप किसी भी प्रकार के प्राधिकरण के तहत स्थैतिक फाइलों को सेवा देना चाहते हैं, लेकिन मुझे आश्चर्य है कि अगर मैं एक स्थिर फ़ाइल की सेवा कर रहा हूं तो मैं पूरे सत्र मिडलवेयर को "छोड़" सकता हूं ।

(उत्पादन परिवेश में मैं संपत्ति के लिए कुकीज़ का उपयोग नहीं कर सकता है)

+4

सिर्फ 'express.static' डाल अन्य सभी मिडलवेयर –

+0

यह काम करता है ऊपर, और मैं इसे शानदार पाया। जोनाथन, क्या आप इस सवाल का जवाब देंगे "तो क्या मैं वास्तव में आपको कुछ कर्म दे सकता हूं? :) – Claudio

+1

मैं अंक के लिए यह नहीं करता! –

उत्तर

11

मिडलवेयर को इसे जोड़ने के क्रम में बुलाया जाता है। बस अपने app.js में स्थिर मिडलवेयर को बहुत जल्दी स्थानांतरित करें।

उदाहरण के लिए:

app.use(express.static(__dirname + "/public")); 
// any other middleware 
app.use(passport()); // or whatever your passport config looks like 
1

आप किसी अन्य डोमेन है जो सभी पर किसी भी कुकीज़ की दुकान नहीं है से स्टैटिक फ़ाइलें सेवा कर सकता है। इसका मतलब यह भी है कि आप उन फ़ाइलों की सेवा करने से पहले कोई भी (सुरक्षा) जांच नहीं कर सकते हैं।

यह तकनीक विभिन्न साइटों, जैसे स्टैक ओवरव्लो, फेसबुक और लिंक्डइन द्वारा उपयोग की जाती है।

+0

हां, ज़ाहिर है, और मुझे पता है (मेरे अंतिम वाक्य के अनुसार)। लेकिन मुझे आश्चर्य है कि क्या मैं इसे प्रोग्रामेटिक रूप से कर सकता हूं :) – Claudio

+0

मैं नोड.जेएस + एक्सप्रेस + पासपोर्ट के साथ पर्याप्त परिचित नहीं हूं, लेकिन यदि आप मौजूद हैं और अनुरोध किया है तो आप अनुरोधित फ़ाइल को वापस करने के लिए अपना वेब सर्वर सेट कर पाएंगे यदि अनुरोध मौजूदा फ़ाइल या फ़ोल्डर नहीं है तो आवेदन। – Arjan

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