2012-03-30 28 views
5

मैं ओथ के माध्यम से स्प्रिंग सुरक्षा अनुप्रयोग में प्रमाणीकृत उपयोगकर्ता की कोशिश कर रहा हूं। मुझे पहले ही टोकन और उपयोगकर्ता का डेटा प्राप्त हुआ है।वसंत सुरक्षा: प्रमाणीकरण उपयोगकर्ता मैन्युअल रूप से

मैं पासवर्ड और क्लासिक लॉगिन फॉर्म के बिना मैन्युअल रूप से उपयोगकर्ता को प्रमाणित कैसे कर सकता हूं? धन्यवाद।

उत्तर

19

कुछ इस तरह:

Authentication authentication = new UsernamePasswordAuthenticationToken(person, null, person.getAuthorities()); 
log.debug("Logging in with {}", authentication.getPrincipal()); 
SecurityContextHolder.getContext().setAuthentication(authentication); 

कहाँ person अपने UserDetailsBean वस्तु है।

+0

बहुत बहुत धन्यवाद! यह अच्छा काम है। –

+1

कृपया ध्यान दें कि यह केवल तभी काम करेगा जब आपका साइनइन पथ निम्न प्रकार के सुरक्षा मैपिंग का उपयोग करता है ' 'वसंत सुरक्षा के नए संस्करणों में उदाहरण के लिए सुरक्षा छोड़ने का एक बेहतर और तेज़ तरीका। '' नए प्रारूप के साथ दिया गया समाधान काम नहीं करेगा क्योंकि बाद में परिदृश्य में कोई सुरक्षा कॉन्टेक्स्टहोल्डर नहीं बनाया गया है। –

+0

@vaccum यह http मूल प्रमाणीकरण के लिए काम करेगा –

संबंधित मुद्दे