java - How to design authentication in a thick client, to be fail safe? -


यहाँ उपयोग केस है:

मेरे पास एक डेस्कटॉप अनुप्रयोग है (ईक्लीपीस आरसीपी का उपयोग करके बनाया गया है) , उसमें 'यूज़रनेम' और 'पासवर्ड' फ़ील्ड के साथ एक डायलॉग बॉक्स खोलें। एक बार अंतिम उपयोगकर्ता, अपने उपयोगकर्ता नाम और पासवर्ड को इनपुट करता है, एक सर्वर से संपर्क किया जाता है (क्लाइंट की तरफ़ एक वसंतः httpclient: स्प्रिंग रिमोट-सबलेट, इसी तरह।), और सर्वर पक्ष पर प्रमाणीकरण किया जाता है।

उपर्युक्त परिदृश्य से संबंधित कुछ प्रश्न:

  1. अगर यह प्रमाणन सेवा नीचे जा रही थी, तो अगली कार्यवाही को संभालने का सबसे अच्छा तरीका क्या होगा? प्रमाणीकरण कुछ ऐसा है जिसे मैं दूर नहीं कर सकता डेस्कटॉप क्लाइंट को "सीमित" मोड में चलाना अच्छा विचार होगा? उदाहरण के लिए, महत्वपूर्ण विशेषताओं / मेनू / दृश्य अक्षम हो जाएंगे, शेष एप्लिकेशन पहुंच योग्य हो जायेगी?
  2. क्या मुझे बैकअप के रूप में काम करने वाली एक अलग मशीन पर चलने वाली प्रमाणीकरण सेवा चाहिए?
  3. इस परिदृश्य में सामान्य सर्वोत्तम प्रथाएं क्या हैं? मुझे Google गियर के बारे में पढ़ना याद है और यह आपको ऑफ़लाइन संपादित करने और काम करने के लिए किस तरह से करता है - क्या ऐसा कुछ डिज़ाइन किया जाना चाहिए?

कृपया मुझे अपना डिज़ाइन / वास्तु टिप्पणियां / सुझाव बताएं आपकी मदद की सराहना करें।

सरल जवाब है: प्रमाणीकरण सेवा को नीचे मत देना!

सुनिश्चित करें कि आपकी प्रमाणीकरण सेवा वर्चुअल आईपी के पीछे क्लस्टर, लोड संतुलित वातावरण में चल रही है इस तरह, आप ईवेंट में डाउनटाइम से बच सकते हैं कि व्यक्तिगत सर्वर में से एक नीचे जाता है यह न केवल सेवा के लिए ही जाता है, बल्कि किसी भी डेटा स्रोत पर निर्भर करता है।

जाहिर है कोई भी सिस्टम पूरी तरह से असफल-सुरक्षित नहीं है, लेकिन आपको अपने अपटाइम को 100% तक पर्याप्त रूप से प्राप्त करने में सक्षम होना चाहिए डेस्कटॉप क्लाइंट के लिए "सीमित" मोड बनाने की कोई आवश्यकता नहीं है।


Comments

Popular posts from this blog

windows - Heroku throws SQLITE3 Read only exception -

lex - Building a lexical Analyzer in Java -

python - rename keys in a dictionary -