From 92fadd657e3c874223136f30f4cd14c569e6a34d Mon Sep 17 00:00:00 2001 From: Hylston Barbosa Date: Mon, 31 Jul 2023 21:01:27 -0300 Subject: [PATCH] fixing UserDetailsServiceImpl circular dependency injection re-adding @Primary annotation in UserDetailsServiceImpl --- .../l10n/mojito/security/UserDetailsServiceImpl.java | 4 ++++ .../box/l10n/mojito/security/WebSecurityConfig.java | 12 +++--------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/webapp/src/main/java/com/box/l10n/mojito/security/UserDetailsServiceImpl.java b/webapp/src/main/java/com/box/l10n/mojito/security/UserDetailsServiceImpl.java index ee2b258b5e..ccdccab334 100644 --- a/webapp/src/main/java/com/box/l10n/mojito/security/UserDetailsServiceImpl.java +++ b/webapp/src/main/java/com/box/l10n/mojito/security/UserDetailsServiceImpl.java @@ -6,11 +6,15 @@ import com.box.l10n.mojito.service.security.user.UserRepository; import org.slf4j.Logger; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Primary; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; +import org.springframework.stereotype.Service; /** @author wyau */ +@Primary +@Service public class UserDetailsServiceImpl implements UserDetailsService { /** logger */ diff --git a/webapp/src/main/java/com/box/l10n/mojito/security/WebSecurityConfig.java b/webapp/src/main/java/com/box/l10n/mojito/security/WebSecurityConfig.java index 3ec6f819e9..cdb67270be 100644 --- a/webapp/src/main/java/com/box/l10n/mojito/security/WebSecurityConfig.java +++ b/webapp/src/main/java/com/box/l10n/mojito/security/WebSecurityConfig.java @@ -11,9 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.annotation.AdviceMode; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Primary; import org.springframework.http.HttpStatus; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.authentication.configurers.ldap.LdapAuthenticationProviderConfigurer; @@ -63,6 +61,8 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Autowired UserService userService; + @Autowired UserDetailsServiceImpl userDetailsService; + @Autowired public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { for (SecurityConfig.AuthenticationType authenticationType : @@ -99,7 +99,7 @@ void configureActiveDirectory(AuthenticationManagerBuilder auth) throws Exceptio void configureDatabase(AuthenticationManagerBuilder auth) throws Exception { logger.debug("Configuring in database authentication"); - auth.userDetailsService(getUserDetailsService()).passwordEncoder(new BCryptPasswordEncoder()); + auth.userDetailsService(userDetailsService).passwordEncoder(new BCryptPasswordEncoder()); } void configureLdap(AuthenticationManagerBuilder auth) throws Exception { @@ -248,10 +248,4 @@ String[] getHeathcheckPatterns() { } return patterns.toArray(new String[patterns.size()]); } - - @Primary - @Bean - protected UserDetailsServiceImpl getUserDetailsService() { - return new UserDetailsServiceImpl(); - } }