测试用户
2023-04-13 43393f2bb11cbf9e6af40077bbc5284660e8a754
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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;
    }
}