From c9e7d81e8e808e4d181853656fd4b437eff0d174 Mon Sep 17 00:00:00 2001 From: Spencer Gibb Date: Tue, 26 Sep 2017 14:00:59 -0400 Subject: [PATCH] Fix security in mock eureka server application --- .../http/EurekaServerMockApplication.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/http/EurekaServerMockApplication.java b/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/http/EurekaServerMockApplication.java index 50ee6263..ac730ceb 100644 --- a/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/http/EurekaServerMockApplication.java +++ b/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/http/EurekaServerMockApplication.java @@ -19,8 +19,15 @@ package org.springframework.cloud.netflix.eureka.http; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.core.Ordered; +import org.springframework.core.annotation.Order; import org.springframework.http.HttpStatus; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; +import org.springframework.security.core.userdetails.User; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.provisioning.InMemoryUserDetailsManager; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -114,4 +121,29 @@ public class EurekaServerMockApplication { @PathVariable String id) { return INFO; } + + @Configuration + @Order(Ordered.HIGHEST_PRECEDENCE) + protected static class TestSecurityConfiguration extends WebSecurityConfigurerAdapter { + + + TestSecurityConfiguration() { + super(true); + } + + @Bean + public UserDetailsService userDetailsService() { + InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager(); + manager.createUser(User.withUsername("test").password("test").roles("USER").build()); + return manager; + } + + @Override + protected void configure(HttpSecurity http) throws Exception { + // super.configure(http); + http.antMatcher("/apps/**") + .httpBasic(); + } + + } }