MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

स्प्रिंग सुरक्षा + स्प्रिंग डेटा + MongoDB के साथ प्रमाणीकरण

सेवा परत

आपको एक अलग service बनाना होगा org.springframework.security.core.userdetails.UserDetailsService को लागू करना और इसे AuthenticationManagerBuilder . के अंदर इंजेक्ट करें ।

@Component
public class SecUserDetailsService implements UserDetailsService{

    @Autowired
    private UserRepository userRepository;

    @Override
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
        /*Here add user data layer fetching from the MongoDB.
          I have used userRepository*/
        User user = userRepository.findByUsername(username);
        if(user == null){
            throw new UsernameNotFoundException(username);
        }else{
            UserDetails details = new SecUserDetails(user);
            return details;
        }
    }
}

मॉडल

UserDetails अमल भी करना चाहिए। यह पीओजेओ है जो उपयोगकर्ता को वसंत द्वारा प्रमाणित विवरण रखेगा। जैसा कि मैंने किया है, आप इसके अंदर लिपटे हुए अपने एंटिटी डेटा ऑब्जेक्ट को शामिल कर सकते हैं।

public class SecUserDetails implements UserDetails {

    private User user;

    public SecUserDetails(User user) {
        this.user = user;
    }
    ......
    ......
    ......
}

सुरक्षा कॉन्फ़िगरेशन

हमारे द्वारा पहले बनाई गई सेवा को ऑटोवायर करें और इसे AuthenticationManagerBuilder . के अंदर सेट करें

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Autowired
    SecUserDetailsService userDetailsService ;

    @Autowired
    public void configAuthBuilder(AuthenticationManagerBuilder builder) throws Exception {
        builder.userDetailsService(userDetailsService); 
    }
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडीबी $dayOfYear

  2. नेवला (मोंगोडब) उपनाम _id फ़ील्ड

  3. परमाणु ऑपरेशन के साथ एक दस्तावेज़ में बूलियन फ़ील्ड को कैसे टॉगल करें?

  4. MongoDB में विशिष्ट मान वापस करने के 3 तरीके

  5. नोड.जेएस का उपयोग करके मोंगोडब के लिए नेस्टेड सरणी के अंदर नई वस्तुओं को कैसे जोड़ें?