मैंने वसंत सुरक्षा मॉड्यूल के साथ OAuth2 पासवर्ड अनुदान लागू किया है। मैं UserDetails और UserDetailsService (jdbc) का अपना कार्यान्वयन जोड़ता हूं। मैं अपने नियंत्रकों के साथ उपयोगकर्ता को इंजेक्ट करता हूं:स्प्रिंग ओथ 2 - रीलोड प्रिंसिपल
@AuthenticationPrincipal User user
जहां उपयोगकर्ता उपयोगकर्ता विवरण का मेरा कार्यान्वयन है। अब मैं रीफ्रेशिंग टोकन के बिना उपयोगकर्ता डेटा बदलने की सकारात्मकता जोड़ना चाहता हूं।
मैं साथ प्रिंसिपलों ताज़ा करने का प्रयास:
User updatedUser = ...
Authentication newAuth = new UsernamePasswordAuthenticationToken(updatedUser, updatedUser.getPassword(), updatedUser.getAuthorities());
SecurityContextHolder.getContext().setAuthentication(newAuth);
लेकिन यह काम नहीं करता है, जब मैं अन्य नियंत्रक विधि यह रिटर्न पुराने उपयोगकर्ता वस्तु आह्वान।
क्या रीफ्रेशिंग टोकन के बिना उपयोगकर्ता डेटा बदलने का कोई तरीका है? वसंत सुरक्षा को हमेशा डेटाबेस से उपयोगकर्ता डेटा लोड करने का कोई समाधान है (कैश से नहीं)?
आवेदन आप प्रिंसिपलों को ताज़ा करते परत जिसमें स्थापित करने के लिए? –