मैं एक वेब ऐप बना रहा हूं जिसे ऑफ़लाइन काम करने की आवश्यकता है। सिस्टम बिक्री लेनदेन को पकड़ने के लिए बनाया गया है। "ऑफलाइन" भाग का बड़ा हिस्सा काफी सरल है - मुझे नेटवर्क पर वापस आने पर स्थानीय स्तर पर डेटा स्टोर करने और इसे सिंक करने की आवश्यकता है। अब तक सब ठीक है.ऑफ़लाइन वेब ऐप्स में उपयोगकर्ता प्रमाणीकरण
समस्या प्रमाणीकरण के साथ है। ऐप एक साझा ओएस उपयोगकर्ता खाते के साथ साझा मशीन पर चलाएगा। अगर मैं ऑफ़लाइन हूं, तो मैं उपयोगकर्ता को प्रमाणित कैसे करूं?
उपयोगकर्ता के पास कोई निजी डेटा नहीं है जिसे मुझे अलग करने की आवश्यकता होगी (यानी, मुझे क्लाइंट पर एक-दूसरे से उनकी रक्षा करने की आवश्यकता नहीं है)। मुझे अपने पासवर्ड को सत्यापित करने में सक्षम होना चाहिए ताकि कनेक्शन भरने के बावजूद मैं पूरे दिन अलग-अलग उपयोगकर्ताओं को लॉगिन कर सकूं।
एक दृष्टिकोण जिसमें मैं सोच रहा हूं जिसमें एक इंडेक्स डीडी में क्लाइंट-साइड पर पासवर्ड हैश को कैश करना शामिल है। उपयोगकर्ताओं के केवल सीमित सेट को एक विशिष्ट साझा मशीन से लॉग इन करने की अनुमति होगी, इसलिए मुझे स्थानीय रूप से अपना पूरा पासवर्ड डेटाबेस कैश करने की आवश्यकता नहीं होगी। यह मानते हुए कि मेरे पास एक अच्छी पासवर्ड नीति (जटिलता और समाप्ति आवश्यकताओं) है और हैंश स्वयं सुरक्षित हैं (बीसीआरईटीपी), यह एक विचार कितना भयानक है?
क्या मेरे पास कोई अन्य विकल्प है?
जो मैंने पढ़ा है उससे पासवर्ड की समाप्ति सहायक से अधिक हानिकारक हो सकती है- http://www.cryptosmith.com/node/218 हालांकि, यदि आप अपना डेटाबेस उजागर कर रहे हैं तो यह मामला नहीं हो सकता है। –