का उपयोग कर एकाधिक जेवीएम आधारित अनुप्रयोगों में एकल साइन को कैसे कार्यान्वित किया जाए, मैं वर्तमान में एक ही सर्वलेट कंटेनर में तैनात सभी जेवीएम आधारित (Grails, Servlets) वेब अनुप्रयोगों में समाधान पर एक ही संकेत लागू करने की कोशिश कर रहा हूं (वर्तमान में टोमकैट , लेकिन मेरे समाधान को सिर्फ टॉमकैट तक सीमित नहीं करना चाहते हैं)। सभी वेब अनुप्रयोग एक सामान्य डेटाबेस साझा करते हैं।स्प्रिंग सिक्योरिटी
मैंने सिंगल साइन ऑन को संभालने के लिए एक नई वेब सेवा बनाने के लिए सीएएस या अन्य तृतीय पक्ष पुस्तकालयों का उपयोग करने से विभिन्न विकल्पों को देखा है, लेकिन कोई भी वास्तव में व्यवसाय को संतुष्ट नहीं करता है। मेरे वर्तमान कार्यान्वयन में एक नई जार लाइब्रेरी बनाना शामिल है जिसमें AuthenticationProviders का सामान्य कार्यान्वयन है, और Pre-Authentication Filters वसंत सुरक्षा के आधार पर है।
इस दृष्टिकोण में मेरे पास प्रमाणीकरण के लिए आवेदन के लिए एकाधिक प्रमाणीकरणप्रदाता (वर्तमान में सक्रिय निर्देशिका, और डेटाबेस) हैं। सफल प्रमाणीकरण पर एक सत्र तालिका में एक पंक्ति डाली जाएगी जिसमें उपयोगकर्ता, एक समाप्ति समय और टोकन शामिल होगा। टोकन को उपयोगकर्ता की मशीन पर एक कुकी के रूप में भी संग्रहीत किया जाएगा और इसका उपयोग यह सत्यापित करने के लिए किया जाएगा कि उनके पास प्री-प्रमाणीकरण फ़िल्टर में वर्तमान सत्र है।
यह सुनिश्चित करने से पहले कि मैं एक बड़ी सुरक्षा समस्या नहीं बना रहा हूं, और मैं यह जानना चाहूंगा कि टोकन बनाने के लिए मुझे क्या करना होगा? इस बिंदु पर एक साधारण GUID पर्याप्त लग रहा है?
वर्तमान में हम वसंत सुरक्षा 3.0.x पर काम कर रहे हैं, और अभी तक 3.1 तक अपग्रेड नहीं किए गए हैं।
अग्रिम धन्यवाद।
मैं गाइड को पर्याप्त सत्र आईडी होने के लिए हाँ कहूंगा। सुरक्षा मुद्दों के रूप में आपकी चिंताओं क्या हैं? –
मेरी चिंताओं का कोई आम हमला होगा, उदाहरण के लिए सत्र स्पूफिंग, कि मैं इसे संभालने में सक्षम नहीं हो सकता। सत्र स्पूफिंग मामले में कुकी को उपयोगकर्ता की मशीन से दूसरे में कॉपी करके किया जा सकता है, लेकिन मुझे लगता है कि टाइमआउट समय को उचित स्तर पर सेट करके इस हमले को कम किया जा रहा है। –
वेब ऐप सुरक्षा त्रुटियों के लिए एक अच्छा स्रोत https://www.owasp.org/index.php/Main_Page –