क्या प्रमाणीकरण/UserDetailsImpl ऑब्जेक्ट में List<GrantedAuthority>
सेट करने के लिए वैसे भी है? मेरे आवेदन में, मेरे पास सुरक्षा की दो परतें हैं, एक लॉग इन करने के लिए (जो मेरे कस्टम लॉगिन प्रमाणीकरणकर्ता का उपयोग करता है, कक्षा में मैंने Authentication
ऑब्जेक्ट को UsernamePasswordAuthenticationToken
का उपयोग करके सेट किया है) और एक "चुनौती प्रश्न" के लिए जहां उपयोगकर्ता को उत्तर देने के लिए कहा जाता है एक विशेष सवालवसंत सुरक्षा: सेट किया गया प्राधिकृत
मैं क्या करना चाहता हूं GrantedAuthority
वर्तमान List<GrantedAuthority>
में जोड़ें, जिसे लॉगिन प्रक्रिया के दौरान बनाया गया था, उपयोगकर्ता चुनौती प्रश्न का उत्तर देने के बाद।
क्या यह संभव है?
एक बात UserDetails कार्यान्वयन है क्या वर्ग है। स्प्रिंग UserDetailsImpl नामक कोई कक्षा प्रदान नहीं करता है। JdbcDaoImpl उपयोगकर्ता वर्ग का एक उदाहरण बनाता है, जबकि एलडीएपी संस्करण LdapUserDetailsImpl का एक उदाहरण बनाता है। तो यह वास्तव में बहुत निर्भर है कि आप किस प्रकार की वस्तु वापस प्राप्त कर रहे हैं चाहे आप अधिकारियों को बदल सकें। मैंने कभी भी स्प्रिंग-प्रदत्त उपयोगकर्ता डिस्प्ले कार्यान्वयन में से एक का उपयोग कभी नहीं किया है, क्योंकि अधिकारियों के लिए अपरिवर्तनीय सेट जैसी चीजों की वजह से, जो कि बदल सकती है। –