package com.common.configure;
|
|
import com.alibaba.druid.support.http.StatViewServlet;
|
import com.alibaba.fastjson.JSONObject;
|
import com.common.core.utils.SecretsManagerUtils;
|
import com.common.filter.RequestCachingFilter;
|
import org.springframework.beans.factory.annotation.Autowired;
|
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;
|
import org.springframework.core.env.Environment;
|
|
|
/**
|
* @author 廖振钦
|
* @date 2022-01-14
|
*/
|
@Configuration
|
public class FilterConfig {
|
// @Bean
|
public RequestCachingFilter requestCachingFilter() {
|
return new RequestCachingFilter();
|
}
|
|
// @Bean
|
public FilterRegistrationBean requestCachingFilterRegistration(
|
RequestCachingFilter requestCachingFilter) {
|
FilterRegistrationBean bean = new FilterRegistrationBean(requestCachingFilter);
|
bean.setOrder(1);
|
return bean;
|
}
|
|
@Bean
|
public FilterRegistrationBean<com.alibaba.druid.support.http.WebStatFilter> regFilter() {
|
FilterRegistrationBean<com.alibaba.druid.support.http.WebStatFilter> regFilter = new FilterRegistrationBean(new com.alibaba.druid.support.http.WebStatFilter());
|
regFilter.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
|
regFilter.addUrlPatterns("/*");
|
return regFilter ;
|
}
|
|
@Autowired
|
private Environment env;
|
@Autowired
|
private SecretsManagerUtils secretsManagerUtils;
|
@Bean
|
public ServletRegistrationBean<StatViewServlet> druidStatViewServlet() {
|
ServletRegistrationBean<StatViewServlet> registrationBean = new ServletRegistrationBean<>(new StatViewServlet(), "/druid/*");
|
registrationBean.addInitParameter("allow", "");// IP白名单 (没有配置或者为空,则允许所有访问)
|
registrationBean.addInitParameter("deny", "");// IP黑名单 (存在共同时,deny优先于allow)
|
JSONObject object = secretsManagerUtils.getSecret(env.getProperty("aws.secrets.mysql"));
|
String username = object.getString("username");
|
String password = object.getString("password");
|
registrationBean.addInitParameter("loginUsername", username);
|
registrationBean.addInitParameter("loginPassword", password);
|
registrationBean.addInitParameter("resetEnable", "false");
|
return registrationBean;
|
}
|
}
|