2011-09-14 15 views
13

में प्रति सत्र क्रेडेंशियल्स को सुरक्षित रूप से स्टोर करने के लिए कैसे करें मेरे पास मेरे स्थानीय नेटवर्क पर एक फ्लास्क एप्लिकेशन है जो मेल सर्वर और वेब सेवा से कनेक्ट होता है। सभी तीन एक ही एलडीएपी प्रमाणीकरण स्रोत का उपयोग करते हैं, और मैं उपयोगकर्ताओं को इन इंटरफेस में से किसी एक से कनेक्ट होने पर समान प्रमाण-पत्र प्रदान करने की आवश्यकता से बचना चाहता हूं।फ्लास्क

सत्र के जीवनकाल के लिए उपयोगकर्ता के प्रमाण-पत्र रखने का सबसे सुरक्षित तरीका क्या है ताकि उन्हें अन्य इंटरफेस के साथ साझा किया जा सके?

मुझे मिला एक विकल्प Flask-KVSession है, जो सत्र चर सर्वर सर्वर को संग्रहीत करता है।


अद्यतन:। परीक्षण में, मैं app.config में एक dict में साख गिर जब में एक उपयोगकर्ता के लॉग ऐसा लगता है जैसे कि यह एक बुरा विचार किया जाना चाहिए साथ प्रयोग किया है, लेकिन मैं बाहर क्यों लगा नहीं किया है अभी तक। मुझे पता है कि यह सक्रिय सत्र के गायब होने के लिए प्रमाण-पत्रों की संभावना बनाता है, लेकिन यह देखने में काफी आसान है कि वे मौजूद हैं या नहीं, यदि वे नहीं करते हैं तो उनके लिए तत्काल संकेत दें। इसके अलावा, वे फाइल सिस्टम पर लिखे नहीं जाएंगे जैसे सर्वर-साइड सत्र में चर।

मैं जानना चाहता हूं कि मुझे इस दृष्टिकोण के साथ कोई स्पष्ट समस्या है या नहीं।

उत्तर

12

मैं निश्चित रूप से सर्वर-साइड सत्र में उपयोगकर्ता के प्रमाण-पत्रों को संग्रहीत करने के लिए Flask-KVSession जैसे कुछ का उपयोग करता हूं (इसके लिए +1 - मैंने पहले उस एक्सटेंशन को नहीं देखा था)। इससे यह सुनिश्चित होगा कि आप एक कुकी में उपयोगकर्ता के प्रमाण-पत्रों को आगे और आगे नहीं पारित कर रहे हैं। मैं सत्र प्रबंधन के अधिक दिलचस्प हिस्सों से निपटने के लिए Flask-Login जोड़ दूंगा, बिना सभी मुद्दों को खोजे।

app.config में साख गिराने एक अच्छा विचार है क्योंकि app.config एक LocalProxyनहीं है और इसलिए थ्रेड-सुरक्षित नहीं है नहीं है। आपको गारंटी नहीं है कि एक अनुरोध के लिए आप app.config पर किए गए परिवर्तन अन्य अनुरोधों को प्रभावित करने के लिए पवन अप नहीं करेंगे। (आप संदर्भ स्थानीय here और here) के बारे में अधिक पढ़ सकते हैं।

+0

स्पष्टीकरण के लिए धन्यवाद। मैं सर्वर पर सत्रों के साथ सहेजे गए पासवर्ड के बारे में चिंतित था, लेकिन इन-मेमोरी स्टोर का उपयोग करना संभव है, इसलिए यह भी एक मुद्दा नहीं होना चाहिए। –

+0

फ्लास्क-केवीएसशन के शीर्ष पर फ्लास्क-लॉगिन का उपयोग कैसे कर सकता है? –