JooLun Plus 百科 ⬇ 源码下载

03.10 接口直接对外暴露

102353 于 2026-10-17 14:14:33 +08:00 修改了此页面

接口直接对外暴露

用户请求默认都会被 Spring Security OAuth2 拦截;没有合法 token 的请求会被拒绝。只有明确需要对外开放的接口,才允许加入白名单。

常规做法

在对应微服务的配置中增加 security.oauth2.client.release-urls:

security:
  oauth2:
    client:
      release-urls:
        - /actuator/**
        - /v3/api-docs/**
        - /portal/**
        - /open/notify/**

如果某个 Controller 方法上用了 @PreAuthorize(...),而你又希望它能匿名访问,还需要同步去掉该方法上的权限注解,否则仍会因为权限不足被拦截。

文件上传特别说明

/upms/file/upload/out 虽然仍在对外白名单里,但它已经不是“任意目录公开上传接口”。

现行规则是:

  • 只能走后端定义好的白名单场景
  • dir 参数必须传场景码,不再兼容旧目录别名
  • 每个场景都有固定存储目录
  • 每个场景都有明确的文件类型限制
  • 当前只保留租户申请、供应商入驻这类匿名图片上传场景
  • IM、素材库等登录后上传统一走受保护的 /upms/file/upload

当前场景码:

  • tenantApply
  • supplierApplyLicense

所以如果后续需要新增公开上传能力,正确做法不是继续放开新的 dir,而是:

  1. 明确业务场景
  2. 明确允许的文件类型和大小
  3. 在后端新增白名单场景策略
  4. 让调用方传新的场景码
  5. 同步更新上传文档

补充说明:

  • 仅新增白名单场景码时,继续复用 /upms/file/upload/out,不需要新增新的 release-urls
  • 只有新增了全新的匿名接口路径,才需要重新评估是否加入对外白名单