मेरे पास एक वसंत प्रोफ़ाइल "DEV" है और यह मेरे पास एकमात्र प्रोफ़ाइल है और मैं "उत्पादन" प्रोफ़ाइल नहीं बनाना चाहता हूं। तो केवल जब प्रोफ़ाइल "DEV" है, तो मुझे वसंत सुरक्षा के लिए एक निश्चित प्रकार का बीन शुरू करना होगा (जो स्मृति अतिथि उपयोगकर्ता और उपयोगकर्ता विवरण बीन में है)वसंत प्रोफ़ाइल डिफ़ॉल्ट व्यवहार
लेकिन यदि मेरे टॉमकैट स्टार्टअप में कोई वसंत प्रोफ़ाइल प्रदान नहीं की जाती है, जो उत्पादन में मामला है, मैं चाहता हूं कि मेरा ऐप जारी रहेगा जो पहले से ही कर रहा है (ldap प्रामाणिकता प्रदाता का उपयोग करके)।
क्या "डिफ़ॉल्ट" बीन व्यवहार को परिभाषित करने का कोई तरीका है जो वास्तव में स्टार्ट अप पर प्रोफ़ाइल प्रदान करने की आवश्यकता के बिना है? या आप नीचे मेरे कोड को देख सकते हैं और शायद एक अलग समाधान का सुझाव दे सकते हैं।
@Autowired
public void configureGlobal(final AuthenticationManagerBuilder auth, final AuthenticationProvider provider) throws Exception {
auth
.eraseCredentials(false)
.authenticationProvider(provider)
.authenticationProvider(jwtConfig.jwtAuthenticationProvider());
}
@Bean
public UserDetailsService userDetailsService() {
final LdapUserDetailsService ldapUserDetailsService = new LdapUserDetailsService(ldapUserSearch(), ldapAuthoritiesPopulator());
return new CompositeUserDetailsService(Arrays.asList(technicalUserDetailsService(), ldapUserDetailsService));
}
@Bean
@Profile("DEV")
public UserDetailsService devUserDetailsService() {
useAnonymous = true;
InMemoryUserDetailsManagerBuilder b = new InMemoryUserDetailsManagerBuilder()
.withUser("user").password("password").authorities(ROLE_USER, ROLE_ADMIN).and();
return new CompositeUserDetailsService(Arrays.asList(b.build(),
technicalUserDetailsService()));
}
@Bean
public AuthenticationProvider ldapAuthenticationProvider() {
final BindAuthenticator ba = new BindAuthenticator((BaseLdapPathContextSource) contextSource());
ba.setUserSearch(ldapUserSearch());
return new LdapAuthenticationProvider(ba, ldapAuthoritiesPopulator());
}
क्या आपने इसे पहले से ही आजमाया था? यदि हां, तो क्या कुछ गलत हो गया? – john16384
केवल बीन को परिभाषित करके और प्रोफ़ाइल सक्रिय होने पर इसे ओवरराइड करें ...डब्ल्यू जो मूल रूप से डिफ़ॉल्ट व्यवहार है। –