!216 提交配置

Merge pull request !216 from 灰色DT/5.0.0
This commit is contained in:
铭飞 2020-01-10 15:07:32 +08:00 committed by Gitee
commit d678961a60
7 changed files with 3719 additions and 69 deletions

View File

@ -0,0 +1,65 @@
package net.mingsoft.config;
import com.alibaba.druid.support.http.WebStatFilter;
import com.alibaba.druid.support.spring.stat.DruidStatInterceptor;
import org.springframework.aop.Advisor;
import org.springframework.aop.support.DefaultPointcutAdvisor;
import org.springframework.aop.support.JdkRegexpMethodPointcut;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @author by 铭飞开源团队
* @Description TODO
* @date 2020/1/10 11:21
*/
@Configuration
@ConditionalOnProperty(prefix="spring",name = "datasource.druid.stat-view-servlet.enabled", havingValue = "true")
public class DruidConfig {
/**
* druid监控 配置URI拦截策略
*/
@Bean
public FilterRegistrationBean druidStatFilter() {
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
// 添加过滤规则.
filterRegistrationBean.addUrlPatterns("/*");
// 添加不需要忽略的格式信息.
filterRegistrationBean.addInitParameter("exclusions",
"/static/*,*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid,/druid/*");
// 用于session监控页面的用户名显示 需要登录后主动将username注入到session里
filterRegistrationBean.addInitParameter("principalSessionName", "username");
return filterRegistrationBean;
}
/**
* druid数据库连接池监控
*/
@Bean
public DruidStatInterceptor druidStatInterceptor() {
return new DruidStatInterceptor();
}
@Bean
public JdkRegexpMethodPointcut druidStatPointcut() {
JdkRegexpMethodPointcut druidStatPointcut = new JdkRegexpMethodPointcut();
String patterns = "net.mingsoft.*.biz.*";
// 可以set多个
druidStatPointcut.setPatterns(patterns);
return druidStatPointcut;
}
/**
* druid 为druidStatPointcut添加拦截
*
* @return
*/
@Bean
public Advisor druidStatAdvisor() {
return new DefaultPointcutAdvisor(druidStatPointcut(), druidStatInterceptor());
}
}

View File

@ -49,11 +49,6 @@ public class WebConfig implements WebMvcConfigurer {
return new ActionInterceptor();
}
@Override
public void configurePathMatch(PathMatchConfigurer configurer) {
// 启用.do后缀
configurer.setUseRegisteredSuffixPatternMatch(true);
}
/**
* 增加对rest api鉴权的spring mvc拦截器
@ -82,48 +77,7 @@ public class WebConfig implements WebMvcConfigurer {
);
}
}
/**
* druidServlet注册
*/
@Bean
public ServletRegistrationBean druidServletRegistration() {
ServletRegistrationBean registration = new ServletRegistrationBean(new StatViewServlet());
registration.addUrlMappings("/druid/*");
return registration;
}
/**
* druid监控 配置URI拦截策略
*/
@Bean
public FilterRegistrationBean druidStatFilter() {
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
// 添加过滤规则.
filterRegistrationBean.addUrlPatterns("/*");
// 添加不需要忽略的格式信息.
filterRegistrationBean.addInitParameter("exclusions",
"/static/*,*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid,/druid/*");
// 用于session监控页面的用户名显示 需要登录后主动将username注入到session里
filterRegistrationBean.addInitParameter("principalSessionName", "username");
return filterRegistrationBean;
}
/**
* druid数据库连接池监控
*/
@Bean
public DruidStatInterceptor druidStatInterceptor() {
return new DruidStatInterceptor();
}
@Bean
public JdkRegexpMethodPointcut druidStatPointcut() {
JdkRegexpMethodPointcut druidStatPointcut = new JdkRegexpMethodPointcut();
String patterns = "net.mingsoft.*.biz.*";
// 可以set多个
druidStatPointcut.setPatterns(patterns);
return druidStatPointcut;
}
/**
* druid数据库连接池监控
@ -135,28 +89,18 @@ public class WebConfig implements WebMvcConfigurer {
beanTypeAutoProxyCreator.setInterceptorNames("druidStatInterceptor");
return beanTypeAutoProxyCreator;
}
/**
* druid 为druidStatPointcut添加拦截
*
* @return
*/
@Bean
public Advisor druidStatAdvisor() {
return new DefaultPointcutAdvisor(druidStatPointcut(), druidStatInterceptor());
}
@Bean
public FilterRegistrationBean xssFilterRegistration() {
XSSEscapeFilter xssFilter = new XSSEscapeFilter();
FilterRegistrationBean registration = new FilterRegistrationBean(xssFilter);
xssFilter.excludes.add(".*file/upload.do");
xssFilter.excludes.add(".*/jsp/editor.do");
xssFilter.excludes.add(".*/?(jpg|js|css|gif|png|ico)$");
xssFilter.excludes.add("/");
registration.addUrlPatterns("/*");
return registration;
}
// XSS过滤器
// @Bean
// public FilterRegistrationBean xssFilterRegistration() {
// XSSEscapeFilter xssFilter = new XSSEscapeFilter();
// FilterRegistrationBean registration = new FilterRegistrationBean(xssFilter);
// xssFilter.excludes.add(".*file/upload.do");
// xssFilter.excludes.add(".*/jsp/editor.do");
// xssFilter.excludes.add(".*/?(jpg|js|css|gif|png|ico)$");
// xssFilter.excludes.add("/");
// registration.addUrlPatterns("/*");
// return registration;
// }
/**
* RequestContextListener注册

View File

@ -1,6 +1,6 @@
spring:
datasource:
url: jdbc:mysql://localhost:3306/db-mcms-open?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true
url: jdbc:mysql://localhost:3306/db-mcms-open?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&serverTimezone=Asia/Shanghai
username: root
password: root
filters: wall,mergeStat

View File

@ -33,6 +33,10 @@ ms:
spring:
datasource:
druid:
stat-view-servlet:
enabled: true #启用druid监控
profiles:
active: dev
mvc:

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -225,4 +225,5 @@
window.ms = {};
}
window.ms.util = util;
window.ms.debug = false
}());