**业务介绍:**项目面向需要统一管理账号和文件资源的用户,提供注册登录、跨应用单点登录、文件存储与共享能力并管理 WebRTC 文件传输会话。
核心功能:
- **账号管理:**邮箱注册与验证、管理员启用、登录退出、密码重置,以及基于 JWT 的单登录态控制。
- **资源管理:**文件上传、下载、预览和删除;支持私有、公开、指定用户三种共享方式,并在访问前检查权限。
- **统一认证:**通过 SSO Cookie 为关联应用提供登录鉴权入口。
- **P2P 传输控制:**创建上传、下载会话,使用 WebSocket 交换 WebRTC 信令并与 Storage Agent 通信。本仓库负责云端控制,
实际文件传输依赖独立的 Storage Agent。
- 基于 Spring Boot、Spring Security 和 JWT 实现注册登录、邮箱验证、密码重置及权限校验;通过 tokenVersion 控制单登录态,使重新登录或退出后的旧令牌失效。
- 使用 MyBatis 和 MySQL 管理用户、资源及共享关系,实现文件上传、下载、预览、删除,以及私有、公开、指定用户共享;在访问资源前校验可见权限。
- 实现 SSO 鉴权接口与 HttpOnly Cookie,结合 Nginx auth_request,为关联应用提供统一登录入口。
- 基于 Spring WebSocket 实现 WebRTC 上传、下载会话管理和信令交换,包括会话有效期、连接状态与数量限制。项目负责云端控制面,实际文件传输由独立的 Storage Agent 完成。
- 对认证接口进行 IP 限流,并对文件访问路径、学习站代理请求和远程下载 URL 增加安全校验。