package org.yxt.monitor.config;
import jakarta.servlet.Filter;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
import jakarta.servlet.ServletRequest;
import jakarta.servlet.ServletResponse;
import jakarta.servlet.annotation.WebFilter;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.stereotype.Component;
import java.io.IOException;
/**
* 针对actuator接口做安全限制,只允许服务端调用
*
* @author Yang douya
* @date 2023/6/30 9:36
*/
@WebFilter
@Component
@ServletComponentScan
public class ActuatorFilter implements Filter {
@Value("${spring.boot.admin.client.port}")
private String adminServicePort;
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
//判断约定好的请求头参数
if (request.getRequestURI().contains("/actuator") && !adminServicePort.equals(request.getHeader("application-monitor-service"))) {
throw new RuntimeException("无权限访问");
}
filterChain.doFilter(servletRequest, servletResponse);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
springboot3-admin-client.zip (16个子文件)
springboot3-admin-client
pom.xml 6KB
src
test
java
main
resources
application-dev.yml 2KB
log4j2-dev.xml 7KB
application.yml 94B
java
org
yxt
monitor
controller
TestHttpController.java 504B
MonitorApplication.java 392B
config
ActuatorConfiguration.java 894B
ActuatorFilter.java 1KB
BootAdminMonitorSecurityConfig.java 844B
.idea
jarRepositories.xml 864B
uiDesigner.xml 9KB
workspace.xml 4KB
misc.xml 539B
compiler.xml 809B
.gitignore 184B
encodings.xml 191B
共 16 条
- 1
资源评论
杨豆芽
- 粉丝: 22
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功