--- /dev/null
+package org.onap.so.adapters.cnf;
+
+import org.onap.so.security.UserCredentials;
+import org.onap.so.security.UserDetailsServiceImpl;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.security.core.userdetails.UserDetailsService;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+import java.util.ArrayList;
+import java.util.List;
+
+@Component
+@ConfigurationProperties(
+ prefix = "spring.security"
+)
+public class BasicSecurityConfig {
+ private List<UserCredentials> credentials = new ArrayList();
+ private final List<String> roles = new ArrayList();
+
+ public BasicSecurityConfig() {
+ }
+
+ public List<String> getRoles() {
+ return this.roles;
+ }
+
+ @PostConstruct
+ private void addRoles() {
+ for(int i = 0; i < this.credentials.size(); ++i) {
+ this.roles.add(((UserCredentials)this.credentials.get(i)).getRole());
+ }
+
+ }
+
+ public List<UserCredentials> getUsercredentials() {
+ return this.credentials;
+ }
+
+ public void setUsercredentials(final List<UserCredentials> usercredentials) {
+ if (usercredentials != null) {
+ this.credentials = usercredentials;
+ }
+
+ }
+
+ @Bean
+ public UserDetailsService userDetailsService() {
+ return new UserDetailsServiceImpl();
+ }
+
+ @Bean
+ public BCryptPasswordEncoder passwordEncoder() {
+ return new BCryptPasswordEncoder();
+ }
+}
package org.onap.so.adapters.cnf;
-import org.onap.so.security.SoUserCredentialConfiguration;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.FilterType;
import org.springframework.web.client.RestTemplate;
@SpringBootApplication
-@ComponentScan(basePackages = {"org.onap.so.adapters.cnf", "org.onap.so.security"},
- includeFilters = {@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE,
- classes = SoUserCredentialConfiguration.class), @ComponentScan.Filter(type = FilterType.REGEX,
- pattern="org.onap.so.adapters.cnf")})
+@ComponentScan(basePackages = {"org.onap.so.adapters.cnf"})
@EnableAutoConfiguration(exclude = {LiquibaseAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class,
SecurityAutoConfiguration.class})
package org.onap.so.adapters.cnf.client;
import com.google.gson.Gson;
+import org.onap.so.adapters.cnf.BasicSecurityConfig;
import org.onap.so.security.SoUserCredentialConfiguration;
import org.onap.so.security.UserCredentials;
import org.springframework.beans.factory.annotation.Autowired;
private final static Gson gson = new Gson();
private final RestTemplate restTemplate;
- private final SoUserCredentialConfiguration userCredentialConfiguration;
+ private final BasicSecurityConfig userCredentialConfiguration;
private final String role = "ACTUATOR";
private final UserCredentials credentials;
@Autowired
- public SoCallbackClient(RestTemplate restTemplate, SoUserCredentialConfiguration userCredentialConfiguration) {
+ public SoCallbackClient(RestTemplate restTemplate, BasicSecurityConfig userCredentialConfiguration) {
this.restTemplate = restTemplate;
this.userCredentialConfiguration = userCredentialConfiguration;
if (!userCredentialConfiguration.getRoles().contains(role))