diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/DruidConfig.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/DruidConfig.java index 3d3cf7e7..4a7619a9 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/DruidConfig.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/DruidConfig.java @@ -1,13 +1,18 @@ package com.jero.config; import java.io.IOException; +import java.util.HashMap; +import java.util.Map; import javax.servlet.*; +import com.alibaba.druid.support.http.StatViewServlet; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.web.servlet.FilterRegistrationBean; +import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -32,6 +37,12 @@ public class DruidConfig { */ private static final String NEW_JS = "//this.buildFooter();"; + @Value("${spring.datasource.druid.stat-view-servlet.loginUsername}") + private String loginUsername; + + @Value("${spring.datasource.druid.stat-view-servlet.loginPassword}") + private String loginPassword; + /** * 去除Druid监控页面的广告 * @@ -80,4 +91,22 @@ public class DruidConfig { response.getWriter().write(newJs); } } + + /** + * druid监控页面访问账号密码配置 + * @return {@link FilterRegistrationBean} + */ + @Bean + @ConditionalOnWebApplication + @ConditionalOnProperty(name = "spring.datasource.druid.stat-view-servlet.enabled", havingValue = "true") + public ServletRegistrationBean statViewServlet() { + final ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean<>(new StatViewServlet(), "/druid/*"); + // 配置druid参数 + Map initParams = new HashMap<>(16); + // 配置监控页面访问用户密码 + initParams.put("loginUsername", this.loginUsername); + initParams.put("loginPassword", this.loginPassword); + servletRegistrationBean.setInitParameters(initParams); + return servletRegistrationBean; + } } diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/filter/cors/CorsFilter.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/filter/cors/CorsFilter.java index c2edac0f..f58f4bb9 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/filter/cors/CorsFilter.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/filter/cors/CorsFilter.java @@ -1,6 +1,7 @@ package com.jero.config.filter.cors; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ArrayUtils; import javax.servlet.*; @@ -15,6 +16,7 @@ import java.util.Objects; * @author hzwl * 设置响应信息 */ +@Slf4j @WebFilter(urlPatterns = {"/verifyCode/**"}) public class CorsFilter implements Filter { @@ -42,6 +44,7 @@ public class CorsFilter implements Filter { //请求头与系统的origin不同则咔嚓 String[] split = originIp.split(","); if (Objects.nonNull(origin) && !ArrayUtils.contains(split,origin)){ + log.error("{}不在跨域白名单中,请在配置文件的 originIp 配置中添加", origin); return; } //获取请求路径