项目引入了knife4j-spring-boot-starter,安全上屏蔽swagger
方式一:knife4j:#开启生产环境屏蔽basic:方式二:#swaggerspringfox:knife4j:#开启生产环境屏蔽basic:
最后我只能在filter里面强行给它限制死了~~~
public class SwaggerFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if (request instanceof HttpServletRequest && response instanceof HttpServletResponse) {
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
// 检查请求的URL是否为/2/api-docs
if (httpRequest.getRequestURI().contains("/v2/api-docs")) {
// 禁止请求,返回403 Forbidden状态码
httpResponse.sendError(HttpServletResponse.SC_FORBIDDEN, "Access to /v2/api-docs is forbidden");
return; // 不继续调用chain.doFilter()
}
}
// 如果不是/v2/api-docs,则继续处理请求
chain.doFilter(request, response);
}
}
@Configuration
public class SwaggerFilterConfiguration {
/**
* 配置跨站攻击过滤器
*/
@Bean
public FilterRegistrationBean swaggerFilterRegistrationBean() {
FilterRegistrationBean filterRegistration =
new FilterRegistrationBean(new SwaggerFilter());
filterRegistration.addUrlPatterns("/v2/api-docs");
filterRegistration.setOrder(1);
return filterRegistration;
}
}
---------------------------------------------------------------------------------------------------------------------------
下面的方法我最后还是失败了,最终决定在shiroConfig里(这个方法本地有效,放到生产竟然也没效果!)
filterChainDefinitionMap.put("/v2/**", "authc");
--------------------------------------------------------------------------------------------------------------------------
knife4j.enable为false时,knife4j后面其他的配置无效,knife4j.enable和knife4j.basic.enable为true时,production true时即便输入密码也无法看到(但有时候存在bug可以直接看到,但马上又看不到了,生产环境实测,这个需要通过springfox.documentation的配置来进一步控制),production为false时输入密码才可以看到
knife4j:
#一定要把true打开,否则配置的production、springfox.documentation配置会失效!!!
enable: true
#开启生产环境屏蔽
production: true
basic:
enable: true
username: jeecg
password: jeecg1314
springfox:(这个才是拦截/v2/api-docs这个接口的)
documentation:
enabled: false
swagger-ui:
enabled: false
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)