Skip to content

后端

适用对象

给后端开发、接口联调、数据库迁移和 AI 生成后排查使用。

关键约定(摘要)

  • 服务 context path 是 /oars,例如登录接口实际是 /oars/app/auth/login
  • 认证基于 JWT:AuthInterceptor 写入 UserContextPermissionInterceptor 校验 RBAC。拦截器顺序为限流 → 认证 → 演示模式 → 权限。
  • 需要当前人时从 UserContext 取,不信任前端传入的 userId;JWT 不含 tenantId
  • 登出 POST /app/auth/logout 需在 Header 带 Bearer Token 才能拉黑;刷新 Token 用 POST /app/auth/refresh(JSON refreshToken)。
  • 登录日志:GET /oars/app/login-log/page(管理)、/my(本人)。
  • 权限由 PermissionInterceptor@RequiresPermission 参与校验;四层模型见 monorepo docs/permission-model.md
  • 限流:单机内存 IP 滑动窗口,默认每秒 100 请求;网关后须转发 X-Forwarded-For / X-Real-IP(详见 oars-java/RATE-LIMIT-CONFIG.md)。
  • 新增迁移放到 oars-migration,不要把 Flyway SQL 散放到业务模块(oars-java/oars-migration/README.md)。

L2 详细说明(monorepo)

主题文档
JWT / 登录 / 黑名单 / 登录日志oars-java/AUTH-GUIDE.md
限流oars-java/RATE-LIMIT-CONFIG.md
多环境配置oars-java/CONFIG.md
Flywayoars-java/oars-migration/README.md
权限现行模型docs/permission-model.md
权限平台摘要ARCHITECTURE-ROADMAP.md §五
文件存储oars-java/FILE-STORAGE-GUIDE.md
站内消息 / IMoars-java/MESSAGE-MODULE-DESIGN.md
产品:消息 / IM消息中心即时通讯

实现位置

  • Web 拦截器注册:oars-java/oars-app/src/main/java/com/oars/app/config/WebMvcConfig.java
  • 认证拦截:oars-java/oars-app/src/main/java/com/oars/app/config/AuthInterceptor.java
  • 权限拦截:oars-java/oars-app/src/main/java/com/oars/app/config/PermissionInterceptor.java
  • 限流拦截:oars-java/oars-app/src/main/java/com/oars/app/config/RateLimitInterceptor.java
  • 当前用户:oars-java/oars-app/src/main/java/com/oars/app/context/UserContext.java

运维约定(摘要)

  • 生产 JWT 密钥、HTTPS、Token 存储策略按部署环境配置。
  • Redis 不可用时 Token 黑名单 fail-open(应用仍可运行,已登出 Token 可能仍有效直至过期);见 oars-java/AUTH-GUIDE.md §Token 黑名单。