跨域拦截提醒日志添加

This commit is contained in:
zer0Black
2023-06-30 14:40:19 +08:00
parent 19108538d9
commit 32d54a7436
2 changed files with 32 additions and 0 deletions
@@ -1,13 +1,18 @@
package com.jero.config; package com.jero.config;
import java.io.IOException; import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.*; 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.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.boot.web.servlet.FilterRegistrationBean; 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.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
@@ -32,6 +37,12 @@ public class DruidConfig {
*/ */
private static final String NEW_JS = "//this.buildFooter();"; 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监控页面的广告 * 去除Druid监控页面的广告
* *
@@ -80,4 +91,22 @@ public class DruidConfig {
response.getWriter().write(newJs); 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<StatViewServlet> servletRegistrationBean = new ServletRegistrationBean<>(new StatViewServlet(), "/druid/*");
// 配置druid参数
Map<String, String> initParams = new HashMap<>(16);
// 配置监控页面访问用户密码
initParams.put("loginUsername", this.loginUsername);
initParams.put("loginPassword", this.loginPassword);
servletRegistrationBean.setInitParameters(initParams);
return servletRegistrationBean;
}
} }
@@ -1,6 +1,7 @@
package com.jero.config.filter.cors; package com.jero.config.filter.cors;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import javax.servlet.*; import javax.servlet.*;
@@ -15,6 +16,7 @@ import java.util.Objects;
* @author hzwl * @author hzwl
* 设置响应信息 * 设置响应信息
*/ */
@Slf4j
@WebFilter(urlPatterns = {"/verifyCode/**"}) @WebFilter(urlPatterns = {"/verifyCode/**"})
public class CorsFilter implements Filter { public class CorsFilter implements Filter {
@@ -42,6 +44,7 @@ public class CorsFilter implements Filter {
//请求头与系统的origin不同则咔嚓 //请求头与系统的origin不同则咔嚓
String[] split = originIp.split(","); String[] split = originIp.split(",");
if (Objects.nonNull(origin) && !ArrayUtils.contains(split,origin)){ if (Objects.nonNull(origin) && !ArrayUtils.contains(split,origin)){
log.error("{}不在跨域白名单中,请在配置文件的 originIp 配置中添加", origin);
return; return;
} }
//获取请求路径 //获取请求路径