आज मैंने 3.1.3 से 3.1.4 तक काम कर रहे एप्लिकेशन के वसंत सुरक्षा संस्करण को अपग्रेड किया, और मैंने org.springframework.security.authentication.encoding.ShaPasswordEncoder
कक्षा पर एक बहिष्करण चेतावनी देखी।स्प्रिंग सुरक्षा 3.1.4 और शापास्वर्ड एन्कोडर बहिष्करण
तो मैंने नए org.springframework.security.crypto.password.StandardPasswordEncoder
कार्यान्वयन के लिए स्विच किया।
मैंने यह काम किया था और मैं एक नया उपयोगकर्ता पंजीकृत करने और अपने आवेदन में लॉगिन करने में सक्षम हूं, लेकिन, जैसा कि मुझे डर था, मैं पिछले ShaPasswordEncoder और मेरे कस्टम नमक से उत्पन्न पासवर्ड का उपयोग करके लॉगिन करने में सक्षम नहीं हूं।
चूंकि मेरे पास पहले से पंजीकृत कई उपयोगकर्ताओं के साथ एक डेटाबेस है, पुराने एन्कोडेड पासवर्ड को अमान्य किए बिना कार्यान्वयन स्विच करने के लिए मुझे क्या करना चाहिए? क्या यह भी संभव है?
यह भी देखें: How to use new PasswordEncoder from Spring Security
कोड के लिए धन्यवाद। स्पिफ ने सुझाव दिया कि यह कम या ज्यादा है। इसके बजाय मेरा लक्ष्य एक ही समय में दो कार्यान्वयन किए बिना वसंत सुरक्षा की भावी रिलीज में अपग्रेड करने में सक्षम होना है, साथ ही यह समाधान केवल तभी काम करेगा जब प्रत्येक उपयोगकर्ता साइन इन करेगा। मुझे उम्मीद है कि इसे पुराने के साथ संगत कार्यान्वयन शुरू किया जाएगा। ShaPasswordEncoder। –
यदि उपयोगकर्ता कभी साइन इन नहीं करते हैं तो यह तय करने योग्य होगा कि खाते बनाए रखने योग्य हैं (उपयुक्त समीक्षा अवधि के बाद)। यदि वे निष्क्रिय हैं तो आप उन्हें अस्थायी रूप से अक्षम कर सकते हैं और उपयोगकर्ताओं को उनके पासवर्ड को रीसेट करने के लिए कह सकते हैं। पुराने पासवर्ड एन्कोडर्स का उपयोग निराश होता है क्योंकि वे अपेक्षाकृत असुरक्षित, त्रुटि-प्रवण और अन्य प्रणालियों के साथ असंगत होते हैं। कक्षाओं को नए ऐप्स में उनके उपयोग को हतोत्साहित करने के लिए बहिष्कृत किया गया है, लेकिन यदि आप वास्तव में अधिक सुरक्षित विकल्प का उपयोग नहीं करना चाहते हैं तो आप उनका उपयोग रोकने के लिए कुछ भी नहीं है। –