"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > कस्टम डेटाबेस का उपयोग करने के लिए स्प्रिंग सिक्योरिटी में लॉगिन फॉर्म को कैसे अनुकूलित करें।

कस्टम डेटाबेस का उपयोग करने के लिए स्प्रिंग सिक्योरिटी में लॉगिन फॉर्म को कैसे अनुकूलित करें।

2024-07-31 को प्रकाशित
ब्राउज़ करें:405

How to customize the login form in Spring Security to use a custom database.

कस्टम डेटाबेस का उपयोग करने के लिए स्प्रिंग सिक्योरिटी में लॉगिन फॉर्म को अनुकूलित करने के लिए, आप इन चरणों का पालन कर सकते हैं:

एक कस्टम उपयोगकर्ता विवरण सेवा बनाएं:

अपने कस्टम डेटाबेस से उपयोगकर्ता विवरण लोड करने के लिए UserDetailsService इंटरफ़ेस लागू करें।

उपयोगकर्ता विवरण के लिए अपने डेटाबेस से पूछताछ करने के लिए LoadUserByUsername विधि को ओवरराइड करें।

स्प्रिंग सुरक्षा कॉन्फ़िगर करें:

अपने स्प्रिंग सुरक्षा कॉन्फ़िगरेशन में, UserDetailsService बीन को परिभाषित करें।

अपने कस्टम UserDetailsService का उपयोग करने के लिए प्रमाणीकरण प्रबंधक को कॉन्फ़िगर करें।

लॉगिन पेज यूआरएल और लॉगिन प्रोसेसिंग यूआरएल निर्दिष्ट करके लॉगिन फॉर्म को अनुकूलित करें।

कस्टम लॉगिन फॉर्म लागू करें:

कस्टम लॉगिन फॉर्म के लिए एक JSP या HTML फ़ाइल बनाएं।

उपयोगकर्ता नाम और पासवर्ड के लिए इनपुट फ़ील्ड और एक सबमिट बटन शामिल करें।

फॉर्म सबमिट करने के लिए स्प्रिंग सिक्योरिटी कॉन्फ़िगरेशन में निर्दिष्ट लॉगिन प्रोसेसिंग यूआरएल का उपयोग करें।

यहां एक उदाहरण कार्यान्वयन है:

  1. एक कस्टम उपयोगकर्ता विवरण सेवा बनाएं

सार्वजनिक वर्ग CustomUserDetailsService UserDetailsService लागू करता है {
@ऑटोवायर्ड
निजी JdbcTemplate jdbcTemplate;

@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
    String query = "SELECT * FROM users WHERE username = ?";
    User user = jdbcTemplate.queryForObject(query, new Object[]{username}, new UserRowMapper());
    if (user == null) {
        throw new UsernameNotFoundException("User not found");
    }
    return user;
}

}

  1. स्प्रिंग सुरक्षा कॉन्फ़िगर करें

@विन्यास
@EnableWebSecurity
सार्वजनिक वर्ग SecurityConfig WebSecurityConfigurerAdapter का विस्तार करता है {
@ऑटोवायर्ड
निजी CustomUserDetailsService CustomUserDetailsService;

@Autowired
private PasswordEncoder passwordEncoder;

@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
    auth.userDetailsService(customUserDetailsService)
        .passwordEncoder(passwordEncoder);
}

@Override
protected void configure(HttpSecurity http) throws Exception {
    http
        .authorizeRequests()
            .antMatchers("/login").permitAll()
            .anyRequest().authenticated()
        .and()
        .formLogin()
            .loginPage("/login")
            .loginProcessingUrl("/login")
            .defaultSuccessUrl("/welcome")
            .failureUrl("/login?error")
            .permitAll();
}

}

  1. कस्टम लॉगिन फॉर्म लागू करें

अपनी src/main/webapp/WEB-INF/views निर्देशिका (या समतुल्य स्थान) में एक लॉगिन.जेएसपी (या लॉगिन.एचटीएमएल) फ़ाइल बनाएं:




लॉग इन करें


लॉग इन करें




उपयोगकर्ता नाम:



पासवर्ड:


लॉग इन करें


अमान्य उपयोगकर्ता नाम या पासवर्ड।
/c:यदि

इस उदाहरण में, लॉगिन फॉर्म /लॉगिन यूआरएल पर सबमिट किया जाता है, जो स्प्रिंग सिक्योरिटी कॉन्फ़िगरेशन में निर्दिष्ट लॉगिन प्रोसेसिंग यूआरएल है।

इन चरणों का पालन करके, आप उपयोगकर्ता प्रमाणीकरण के लिए कस्टम डेटाबेस का उपयोग करने के लिए स्प्रिंग सिक्योरिटी में लॉगिन फॉर्म को कस्टमाइज़ कर सकते हैं।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/fullstackjava/how-to-customize-the-login-form-in-spring-security-to-use-a-custom-database-20mh?1यदि कोई है उल्लंघन, हटाने के लिए कृपया [email protected] से संपर्क करें
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3