2013-07-06 13 views
13

त्वरित पृष्ठभूमि:मैं उपयोगकर्ता प्रमाणीकरण सत्र जानकारी संग्रहीत करने के लिए HTML5 स्थानीय संग्रहण का उपयोग कर सकते

मैं एक मोंगो/एक्सप्रेस/कोणीय/नोड एसपीए लिख रहा हूँ और पासपोर्ट का उपयोग कर रहा विकल्पों में सेटअप OAuth लॉग उपयोगकर्ता प्रमाणीकरण संभाल करने के लिए है/प्राधिकरण।

पासपोर्ट के साथ मैं सर्वर पर सफलतापूर्वक सत्र बनाए रख रहा हूं, इसलिए मेरे सभी एक्सएचआर अनुरोध (इसकी आवश्यकता है) उपयोगकर्ता में लॉग इन की जांच कर रहे हैं।

सर्वर पर लॉग ऑन करने पर क्लाइंट के लिए मूल उपयोगकर्ता सत्र जानकारी को प्राधिकरण कॉलबैक पर खोजने के लिए क्लाइंट के लिए कुकी में डाल दिया जाता है, तो मैं क्लाइंट पर उस कुकी तक पहुंचने के लिए कोणीय-कुकीज 'कुकी कुकीस्टोर का उपयोग कर रहा हूं ताकि इसे जड़ को बचा सकें और कुकी साफ़ करें।

समस्या:

यह किसी भी घटना जहां उपयोगकर्ता ब्राउज़र है, जो स्पष्ट रूप से सफाया करने के लिए मेरी rootscope सत्र का कारण बनता है ताज़ा करता है के अलावा पूरी तरह से काम कर रहा है।

तो मैं ब्राउजर स्थानीय स्टोरेज (store.js का उपयोग करके) में सत्र जानकारी संग्रहीत करने पर विचार कर रहा था, फिर भी प्रारंभिक लोड पर भी मैं ब्राउज़र स्थानीय स्टोरेज में मौजूद सत्र के लिए जांच सकता था और ओएथ लॉगिन को बाईपास कर सकता था अगर पहले से ही सत्र।

क्या यह खराब अभ्यास है या ब्राउज़र स्थानीय संग्रहण में उपयोगकर्ता सत्र जानकारी संग्रहीत करने के साथ कुछ लॉजिस्टिक/सुरक्षा समस्याएं हैं?

इस ऐप में कोई सेन्स्टिव डेटा नहीं है, साइन अप मुफ्त है और लॉग इन करना वास्तव में केवल इसलिए है, इसलिए मैं उपयोगकर्ताओं को ट्रैक कर सकता हूं और प्रत्येक उपयोगकर्ता के लिए एप्लिकेशन में बनाए गए डेटा स्टोर कर सकता हूं। और उपयोगकर्ता सत्र में कभी पासवर्ड नहीं होगा (मैं केवल ओएथ लॉगिन को स्थानीय विकल्प की अनुमति नहीं देता)। - लेकिन किसी भी पृष्ठ रीफ्रेश बच जाएगा http://www.w3schools.com/html/html5_webstorage.asp

यह बिल्कुल localStorage की तरह काम करता है, लेकिन जब ब्राउज़र विंडो बंद हो पूरे sessionStorage वस्तु हटा दिया जाएगा:

+0

निर्भर करता है। लेकिन सुनिश्चित करें कि मैं आपकी साइट पर एक वैध लॉगिन बनाने के लिए अपने स्थानीय संग्रहण को संशोधित नहीं कर सकता। वह बुरा होगा। –

+0

मैं केवल एक सत्र आईडी स्टोर करता हूं और मैं शायद कुकी में स्टोर करता हूं। –

+0

@ मार्कस मिककोलेनैन स्थानीय कुकीज में वस्तुओं में जाने और संशोधित करने की क्षमता के कारण एक कुकी बेहतर विकल्प है? –

उत्तर

6
localStorage के बजाय

, sessionStorage वस्तु को देखने के। यह सत्र आईडी और एक जैसे स्टोर करने के लिए एक आदर्श जगह है।

लेकिन चेतावनी दीजिये कि sessionStorage ब्राउज़र टैब के भीतर अलग है - इसका मतलब है कि यदि आपका उपयोगकर्ता किसी नए टैब में एक लिंक खोलने का विकल्प चुनता है, तो इसके लिए sessionStorage खाली हो जाएगा।

+5

autologin के बारे में क्या? या लगातार लॉगिन? – CMCDragonkai

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