From b1b216fa833cda28691649da6427edb221b6f5c1 Mon Sep 17 00:00:00 2001 From: "Lam, Doris T (319E)" Date: Wed, 23 Sep 2020 15:13:41 -0700 Subject: [PATCH 1/2] separate configs --- build.gradle | 1 - .../localuser/config/AuthProviderConfig.java | 51 +++++++++++++++++++ .../config/LocalUserSecurityConfig.java | 49 ++---------------- .../config/PasswordEncoderConfig.java | 24 +++++++++ 4 files changed, 80 insertions(+), 45 deletions(-) create mode 100644 localuser/src/main/java/org/openmbee/sdvc/localuser/config/AuthProviderConfig.java create mode 100644 localuser/src/main/java/org/openmbee/sdvc/localuser/config/PasswordEncoderConfig.java diff --git a/build.gradle b/build.gradle index ba709622a..b03e98369 100644 --- a/build.gradle +++ b/build.gradle @@ -125,7 +125,6 @@ subprojects { key = project.getProperties().get('bintrayKey') publications = ['mavenJava'] publish = true - dryRun = true pkg { repo = 'maven' name = 'mms-' + project.name diff --git a/localuser/src/main/java/org/openmbee/sdvc/localuser/config/AuthProviderConfig.java b/localuser/src/main/java/org/openmbee/sdvc/localuser/config/AuthProviderConfig.java new file mode 100644 index 000000000..fa40ae41e --- /dev/null +++ b/localuser/src/main/java/org/openmbee/sdvc/localuser/config/AuthProviderConfig.java @@ -0,0 +1,51 @@ +package org.openmbee.sdvc.localuser.config; + +import org.openmbee.sdvc.localuser.security.UserDetailsServiceImpl; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.authentication.dao.DaoAuthenticationProvider; +import org.springframework.security.core.userdetails.UsernameNotFoundException; +import org.springframework.security.crypto.password.PasswordEncoder; + +@Configuration +public class AuthProviderConfig { + + private static Logger logger = LoggerFactory.getLogger(LocalUserSecurityConfig.class); + + private UserDetailsServiceImpl userDetailsService; + private PasswordEncoder passwordEncoder; + + @Value("${sdvc.admin.username}") + private String adminUsername; + @Value("${sdvc.admin.password}") + private String adminPassword; + + @Autowired + public void setUserDetailsService(UserDetailsServiceImpl userDetailsService) { + this.userDetailsService = userDetailsService; + } + + @Autowired + public void setPasswordEncoder(PasswordEncoder passwordEncoder) { + this.passwordEncoder = passwordEncoder; + } + + @Bean + public DaoAuthenticationProvider daoAuthenticationProvider() { + try { + userDetailsService.loadUserByUsername(adminUsername); + } catch (UsernameNotFoundException e) { + userDetailsService.register(adminUsername, adminPassword, true); + logger.info(String.format("Creating root user: %s with specified password.", + adminUsername)); + } + DaoAuthenticationProvider authProvider = new DaoAuthenticationProvider(); + authProvider.setUserDetailsService(userDetailsService); + authProvider.setPasswordEncoder(passwordEncoder); + return authProvider; + } +} diff --git a/localuser/src/main/java/org/openmbee/sdvc/localuser/config/LocalUserSecurityConfig.java b/localuser/src/main/java/org/openmbee/sdvc/localuser/config/LocalUserSecurityConfig.java index 998d835a7..5c728bc4a 100644 --- a/localuser/src/main/java/org/openmbee/sdvc/localuser/config/LocalUserSecurityConfig.java +++ b/localuser/src/main/java/org/openmbee/sdvc/localuser/config/LocalUserSecurityConfig.java @@ -1,67 +1,28 @@ package org.openmbee.sdvc.localuser.config; ; -import org.openmbee.sdvc.localuser.security.UserDetailsServiceImpl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.PropertySource; import org.springframework.security.authentication.dao.DaoAuthenticationProvider; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; -import org.springframework.security.core.userdetails.UsernameNotFoundException; -import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; -import org.springframework.security.crypto.password.PasswordEncoder; @Configuration @EnableGlobalMethodSecurity(prePostEnabled = true) public class LocalUserSecurityConfig { private static Logger logger = LoggerFactory.getLogger(LocalUserSecurityConfig.class); - @Autowired - public UserDetailsServiceImpl userDetailsService; - @Value("${sdvc.admin.username}") - private String adminUsername; - @Value("${sdvc.admin.password}") - private String adminPassword; - public LocalUserSecurityConfig() { - } + private DaoAuthenticationProvider daoAuthenticationProvider; - @Bean - public PasswordEncoder passwordEncoder() { - return new BCryptPasswordEncoder(){ - //Turn off warnings for null/empty passwords - @Override - public boolean matches(CharSequence rawPassword, String encodedPassword) { - if (encodedPassword == null || encodedPassword.length() == 0) { - return false; - } - return super.matches(rawPassword, encodedPassword); - } - }; + @Autowired + public void setDaoAuthenticationProvider(DaoAuthenticationProvider daoAuthenticationProvider) { + this.daoAuthenticationProvider = daoAuthenticationProvider; } @Autowired public void configureDaoAuth(AuthenticationManagerBuilder auth) { - auth.authenticationProvider(authenticationProvider()); + auth.authenticationProvider(daoAuthenticationProvider); } - - @Bean - public DaoAuthenticationProvider authenticationProvider() { - try { - userDetailsService.loadUserByUsername(adminUsername); - } catch (UsernameNotFoundException e) { - userDetailsService.register(adminUsername, adminPassword, true); - logger.info(String.format("Creating root user: %s with specified password.", - adminUsername)); - } - DaoAuthenticationProvider authProvider = new DaoAuthenticationProvider(); - authProvider.setUserDetailsService(userDetailsService); - authProvider.setPasswordEncoder(passwordEncoder()); - return authProvider; - } - } diff --git a/localuser/src/main/java/org/openmbee/sdvc/localuser/config/PasswordEncoderConfig.java b/localuser/src/main/java/org/openmbee/sdvc/localuser/config/PasswordEncoderConfig.java new file mode 100644 index 000000000..1c9655215 --- /dev/null +++ b/localuser/src/main/java/org/openmbee/sdvc/localuser/config/PasswordEncoderConfig.java @@ -0,0 +1,24 @@ +package org.openmbee.sdvc.localuser.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import org.springframework.security.crypto.password.PasswordEncoder; + +@Configuration +public class PasswordEncoderConfig { + + @Bean + public PasswordEncoder passwordEncoder() { + return new BCryptPasswordEncoder(){ + //Turn off warnings for null/empty passwords + @Override + public boolean matches(CharSequence rawPassword, String encodedPassword) { + if (encodedPassword == null || encodedPassword.length() == 0) { + return false; + } + return super.matches(rawPassword, encodedPassword); + } + }; + } +} From cab6b6f737758ed3915c12ca3808fbfce12fea9c Mon Sep 17 00:00:00 2001 From: "Lam, Doris T (319E)" Date: Wed, 23 Sep 2020 15:39:25 -0700 Subject: [PATCH 2/2] fix --- .../sdvc/localuser/config/LocalUserSecurityConfig.java | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/localuser/src/main/java/org/openmbee/sdvc/localuser/config/LocalUserSecurityConfig.java b/localuser/src/main/java/org/openmbee/sdvc/localuser/config/LocalUserSecurityConfig.java index 5c728bc4a..be13fb86b 100644 --- a/localuser/src/main/java/org/openmbee/sdvc/localuser/config/LocalUserSecurityConfig.java +++ b/localuser/src/main/java/org/openmbee/sdvc/localuser/config/LocalUserSecurityConfig.java @@ -14,15 +14,9 @@ public class LocalUserSecurityConfig { private static Logger logger = LoggerFactory.getLogger(LocalUserSecurityConfig.class); - private DaoAuthenticationProvider daoAuthenticationProvider; - - @Autowired - public void setDaoAuthenticationProvider(DaoAuthenticationProvider daoAuthenticationProvider) { - this.daoAuthenticationProvider = daoAuthenticationProvider; - } - @Autowired - public void configureDaoAuth(AuthenticationManagerBuilder auth) { + public void configureDaoAuth(AuthenticationManagerBuilder auth, + DaoAuthenticationProvider daoAuthenticationProvider) { auth.authenticationProvider(daoAuthenticationProvider); } }