Polish "Add support for webAdminPassword property of H2 Console"

See gh-21533
This commit is contained in:
Stephane Nicoll 2020-06-15 16:19:56 +02:00
parent 1d40234737
commit bf96b0c57b
3 changed files with 9 additions and 7 deletions

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2019 the original author or authors.
* Copyright 2012-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -32,6 +32,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type;
import org.springframework.boot.autoconfigure.h2.H2ConsoleProperties.Settings;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
@ -62,7 +63,7 @@ public class H2ConsoleAutoConfiguration {
String path = properties.getPath();
String urlMapping = path + (path.endsWith("/") ? "*" : "/*");
ServletRegistrationBean<WebServlet> registration = new ServletRegistrationBean<>(new WebServlet(), urlMapping);
configureSettings(properties.getSettings(), registration);
configureH2ConsoleSettings(registration, properties.getSettings());
dataSource.ifAvailable((available) -> {
try (Connection connection = available.getConnection()) {
logger.info("H2 console available at '" + path + "'. Database available at '"
@ -75,15 +76,13 @@ public class H2ConsoleAutoConfiguration {
return registration;
}
private void configureSettings(H2ConsoleProperties.Settings settings,
ServletRegistrationBean<WebServlet> registration) {
private void configureH2ConsoleSettings(ServletRegistrationBean<WebServlet> registration, Settings settings) {
if (settings.isTrace()) {
registration.addInitParameter("trace", "");
}
if (settings.isWebAllowOthers()) {
registration.addInitParameter("webAllowOthers", "");
}
if (settings.getWebAdminPassword() != null) {
registration.addInitParameter("webAdminPassword", settings.getWebAdminPassword());
}

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2019 the original author or authors.
* Copyright 2012-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -77,6 +77,9 @@ public class H2ConsoleProperties {
*/
private boolean webAllowOthers = false;
/**
* Password to access preferences and tools of H2 Console.
*/
private String webAdminPassword;
public boolean isTrace() {

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2019 the original author or authors.
* Copyright 2012-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.