Files
hzdyjs/问题整改/P0-Swagger与Demo下线整改说明.md
2026-09-22 19:22:18 +08:00

1.2 KiB
Raw Permalink Blame History

P0:Swagger / Demo 模块下线整改说明

问题

  1. Swagger / api-docs 免登暴露:security.excludes 放行 /api-docs、/swagger-ui/** 等,且 springdoc.*.enabled=true,扫描器可枚举全量接口。
  2. Demo 模块打入运行包:/demo/mail/**、/demo/queue/delayed/** 等带 @SaIgnore,存在滥用发信等风险。

整改

1. 关闭并收回 Swagger 白名单

文件:backend/ruoyi-admin/src/main/resources/application.yml

  • springdoc.api-docs.enabled → false
  • springdoc.swagger-ui.enabled → false
  • 从 security.excludes 移除全部 api-docs / swagger-ui / webjars 路径

2. 运行包不再引入 demo

  • backend/ruoyi-admin/pom.xml:注释掉 ruoyi-demo 依赖
  • 各业务模块 pom(hq/rs/cw/xg/zsjy/jcbt/xskh/bzrkh/aqbw):同步注释 ruoyi-demo 传递依赖,避免再次打入 admin 包

源码目录 ruoyi-modules/ruoyi-demo 仍保留,便于本地开发需要时再启用;默认构建/部署不再加载其 Controller。

验证

重启后端后:

  1. 访问 /prod-api/swagger-ui.html、/prod-api/api-docs → 不可用或 404/鉴权失败
  2. 访问 /prod-api/demo/mail/sendSimpleMessage、/prod-api/demo/queue/delayed/subscribe → 404(映射不存在)