Skip to content

Commit d852f29

Browse files
author
Dave Syer
committed
Fix security config
The management endpoints were still all mixed up with the user endpoints. Fixed that and extracted user endpoints in to conditional block so not protected if path explicitly set to empty string. [#53029715]
1 parent b39e02c commit d852f29

File tree

16 files changed

+23
-28
lines changed

16 files changed

+23
-28
lines changed

spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/SecurityAutoConfiguration.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package org.springframework.boot.actuate.autoconfigure;
1818

1919
import java.util.ArrayList;
20-
import java.util.Arrays;
2120
import java.util.List;
2221

2322
import org.apache.commons.logging.Log;
@@ -141,12 +140,17 @@ protected void configure(HttpSecurity http) throws Exception {
141140
http.httpBasic().and().anonymous().disable();
142141
ExpressionUrlAuthorizationConfigurer<HttpSecurity> authorizeUrls = http
143142
.authorizeUrls();
144-
if (getEndpointPaths(true).length > 0) {
143+
String[] paths = getEndpointPaths(true);
144+
if (paths.length > 0) {
145145
authorizeUrls.antMatchers(getEndpointPaths(true)).hasRole(
146146
this.management.getUser().getRole());
147147
}
148-
authorizeUrls.antMatchers(getSecureApplicationPaths())
149-
.hasRole(this.security.getBasic().getRole()).and().httpBasic();
148+
paths = getSecureApplicationPaths();
149+
if (paths.length > 0) {
150+
authorizeUrls.antMatchers(getSecureApplicationPaths()).hasRole(
151+
this.security.getBasic().getRole());
152+
}
153+
authorizeUrls.and().httpBasic();
150154
}
151155

152156
// No cookies for service endpoints by default
@@ -164,7 +168,6 @@ private String[] getSecureApplicationPaths() {
164168
list.add(path);
165169
}
166170
}
167-
list.addAll(Arrays.asList(getEndpointPaths(true)));
168171
return list.toArray(new String[list.size()]);
169172
}
170173

spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jdbc/AbstractDataSourceConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public abstract class AbstractDataSourceConfiguration implements BeanClassLoader
3737

3838
private String password = "";
3939

40-
private int maxActive = 8;
40+
private int maxActive = 100;
4141

4242
private int maxIdle = 8;
4343

spring-boot-samples/spring-boot-sample-actuator-ui/src/test/java/org/springframework/boot/sample/ops/ui/SampleActuatorUiApplicationPortTests.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import org.junit.Ignore;
2929
import org.junit.Test;
3030
import org.springframework.boot.SpringApplication;
31-
import org.springframework.boot.sample.ops.ui.SampleActuatorUiApplication;
3231
import org.springframework.context.ConfigurableApplicationContext;
3332
import org.springframework.http.HttpStatus;
3433
import org.springframework.http.ResponseEntity;
@@ -63,7 +62,7 @@ public ConfigurableApplicationContext call() throws Exception {
6362
.run(SampleActuatorUiApplication.class, args);
6463
}
6564
});
66-
context = future.get(10, TimeUnit.SECONDS);
65+
context = future.get(60, TimeUnit.SECONDS);
6766
}
6867

6968
@AfterClass

spring-boot-samples/spring-boot-sample-actuator-ui/src/test/java/org/springframework/boot/sample/ops/ui/SampleActuatorUiApplicationTests.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import org.junit.BeforeClass;
2929
import org.junit.Test;
3030
import org.springframework.boot.SpringApplication;
31-
import org.springframework.boot.sample.ops.ui.SampleActuatorUiApplication;
3231
import org.springframework.context.ConfigurableApplicationContext;
3332
import org.springframework.http.HttpEntity;
3433
import org.springframework.http.HttpHeaders;
@@ -63,7 +62,7 @@ public ConfigurableApplicationContext call() throws Exception {
6362
.run(SampleActuatorUiApplication.class);
6463
}
6564
});
66-
context = future.get(30, TimeUnit.SECONDS);
65+
context = future.get(60, TimeUnit.SECONDS);
6766
}
6867

6968
@AfterClass

spring-boot-samples/spring-boot-sample-actuator/src/test/java/org/springframework/boot/sample/ops/EndpointsPropertiesSampleActuatorApplicationTests.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import org.junit.After;
2929
import org.junit.Test;
3030
import org.springframework.boot.SpringApplication;
31-
import org.springframework.boot.sample.ops.SampleActuatorApplication;
3231
import org.springframework.context.ConfigurableApplicationContext;
3332
import org.springframework.http.HttpRequest;
3433
import org.springframework.http.HttpStatus;
@@ -64,7 +63,7 @@ public ConfigurableApplicationContext call() throws Exception {
6463
.run(configuration, args);
6564
}
6665
});
67-
this.context = future.get(10, TimeUnit.SECONDS);
66+
this.context = future.get(60, TimeUnit.SECONDS);
6867
}
6968

7069
@After

spring-boot-samples/spring-boot-sample-actuator/src/test/java/org/springframework/boot/sample/ops/ManagementAddressSampleActuatorApplicationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public ConfigurableApplicationContext call() throws Exception {
7171
.run(SampleActuatorApplication.class, args);
7272
}
7373
});
74-
context = future.get(30, TimeUnit.SECONDS);
74+
context = future.get(60, TimeUnit.SECONDS);
7575
}
7676

7777
@AfterClass

spring-boot-samples/spring-boot-sample-actuator/src/test/java/org/springframework/boot/sample/ops/ManagementSampleActuatorApplicationTests.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import org.junit.BeforeClass;
2828
import org.junit.Test;
2929
import org.springframework.boot.SpringApplication;
30-
import org.springframework.boot.sample.ops.SampleActuatorApplication;
3130
import org.springframework.context.ConfigurableApplicationContext;
3231
import org.springframework.http.HttpStatus;
3332
import org.springframework.http.ResponseEntity;
@@ -62,7 +61,7 @@ public ConfigurableApplicationContext call() throws Exception {
6261
.run(SampleActuatorApplication.class, args);
6362
}
6463
});
65-
context = future.get(30, TimeUnit.SECONDS);
64+
context = future.get(60, TimeUnit.SECONDS);
6665
}
6766

6867
@AfterClass

spring-boot-samples/spring-boot-sample-actuator/src/test/java/org/springframework/boot/sample/ops/NoManagementSampleActuatorApplicationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public ConfigurableApplicationContext call() throws Exception {
6969
.run(SampleActuatorApplication.class, args);
7070
}
7171
});
72-
context = future.get(10, TimeUnit.SECONDS);
72+
context = future.get(60, TimeUnit.SECONDS);
7373
}
7474

7575
@AfterClass

spring-boot-samples/spring-boot-sample-actuator/src/test/java/org/springframework/boot/sample/ops/SampleActuatorApplicationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public ConfigurableApplicationContext call() throws Exception {
6767
.run(SampleActuatorApplication.class);
6868
}
6969
});
70-
context = future.get(30, TimeUnit.SECONDS);
70+
context = future.get(60, TimeUnit.SECONDS);
7171
}
7272

7373
@AfterClass

spring-boot-samples/spring-boot-sample-actuator/src/test/java/org/springframework/boot/sample/ops/ShutdownSampleActuatorApplicationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public ConfigurableApplicationContext call() throws Exception {
6666
.run(SampleActuatorApplication.class);
6767
}
6868
});
69-
context = future.get(10, TimeUnit.SECONDS);
69+
context = future.get(60, TimeUnit.SECONDS);
7070
}
7171

7272
@AfterClass

spring-boot-samples/spring-boot-sample-actuator/src/test/java/org/springframework/boot/sample/ops/UnsecureSampleActuatorApplicationTests.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import org.junit.BeforeClass;
2828
import org.junit.Test;
2929
import org.springframework.boot.SpringApplication;
30-
import org.springframework.boot.sample.ops.SampleActuatorApplication;
3130
import org.springframework.context.ConfigurableApplicationContext;
3231
import org.springframework.http.HttpStatus;
3332
import org.springframework.http.ResponseEntity;
@@ -60,7 +59,7 @@ public ConfigurableApplicationContext call() throws Exception {
6059
"--security.basic.enabled=false");
6160
}
6261
});
63-
context = future.get(10, TimeUnit.SECONDS);
62+
context = future.get(60, TimeUnit.SECONDS);
6463
}
6564

6665
@AfterClass

spring-boot-samples/spring-boot-sample-jetty/src/test/java/org/springframework/boot/sample/jetty/SampleJettyApplicationTests.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import org.junit.BeforeClass;
2727
import org.junit.Test;
2828
import org.springframework.boot.SpringApplication;
29-
import org.springframework.boot.sample.jetty.SampleJettyApplication;
3029
import org.springframework.context.ConfigurableApplicationContext;
3130
import org.springframework.http.HttpStatus;
3231
import org.springframework.http.ResponseEntity;
@@ -56,7 +55,7 @@ public ConfigurableApplicationContext call() throws Exception {
5655
.run(SampleJettyApplication.class);
5756
}
5857
});
59-
context = future.get(10, TimeUnit.SECONDS);
58+
context = future.get(60, TimeUnit.SECONDS);
6059
}
6160

6261
@AfterClass

spring-boot-samples/spring-boot-sample-traditional/src/test/java/org/springframework/boot/sample/traditional/SampleTraditionalApplicationTests.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import org.junit.BeforeClass;
2727
import org.junit.Test;
2828
import org.springframework.boot.SpringApplication;
29-
import org.springframework.boot.sample.traditional.SampleTraditionalApplication;
3029
import org.springframework.context.ConfigurableApplicationContext;
3130
import org.springframework.http.HttpStatus;
3231
import org.springframework.http.ResponseEntity;
@@ -57,7 +56,7 @@ public ConfigurableApplicationContext call() throws Exception {
5756
.run(SampleTraditionalApplication.class);
5857
}
5958
});
60-
context = future.get(30, TimeUnit.SECONDS);
59+
context = future.get(60, TimeUnit.SECONDS);
6160
}
6261

6362
@AfterClass

spring-boot-samples/spring-boot-sample-web-static/src/test/java/org/springframework/boot/sample/ui/SampleWebStaticApplicationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public ConfigurableApplicationContext call() throws Exception {
4141
.run(SampleWebStaticApplication.class);
4242
}
4343
});
44-
context = future.get(30, TimeUnit.SECONDS);
44+
context = future.get(60, TimeUnit.SECONDS);
4545
}
4646

4747
@AfterClass

spring-boot-samples/spring-boot-sample-web-ui/src/test/java/org/springframework/boot/sample/ui/SampleWebUiApplicationTests.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import org.junit.BeforeClass;
1212
import org.junit.Test;
1313
import org.springframework.boot.SpringApplication;
14-
import org.springframework.boot.sample.ui.SampleWebUiApplication;
1514
import org.springframework.context.ConfigurableApplicationContext;
1615
import org.springframework.http.HttpStatus;
1716
import org.springframework.http.ResponseEntity;
@@ -45,7 +44,7 @@ public ConfigurableApplicationContext call() throws Exception {
4544
.run(SampleWebUiApplication.class);
4645
}
4746
});
48-
context = future.get(30, TimeUnit.SECONDS);
47+
context = future.get(60, TimeUnit.SECONDS);
4948
}
5049

5150
@AfterClass

spring-boot-samples/spring-boot-sample-websocket/src/test/java/org/springframework/boot/samples/websocket/echo/SampleWebSocketsApplicationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public ConfigurableApplicationContext call() throws Exception {
5959
.run(SampleWebSocketsApplication.class);
6060
}
6161
});
62-
context = future.get(30, TimeUnit.SECONDS);
62+
context = future.get(60, TimeUnit.SECONDS);
6363
}
6464

6565
@AfterClass

0 commit comments

Comments
 (0)