Files
user-system/README.md
long-agent 85285c16d1 docs: update project documentation with P0/P1/P2 fix status
- Add security features section to README
- Add security architecture section 12.1 and 12.2 to ARCHITECTURE
- Add validation commands section to DEPLOYMENT
- Update PRD with fix completion status
2026-04-18 21:30:14 +08:00

148 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# User Management System (UMS)
企业级用户管理系统,支持 RBAC 角色权限管理、多因素认证、设备信任和安全审计。
## 快速开始
### 前置依赖
- Go 1.21+
- Node.js 18+
- SQLite默认无需安装
### 启动后端
```bash
# 复制环境配置
cp .env.example .env
# 编辑 .env 填入必要配置JWT_SECRET, DEFAULT_ADMIN_PASSWORD 等)
# 启动服务
go run ./cmd/server
```
服务启动后访问 `http://localhost:8080/api/v1/auth/bootstrap` 初始化管理员账号。
### 启动前端
```bash
cd frontend/admin
npm install
npm run dev
```
## 项目结构
```
.
├── cmd/server/ # 后端入口
├── internal/ # 后端代码
│ ├── api/handler/ # HTTP 处理器
│ ├── api/middleware/ # 中间件(认证、权限、限流)
│ ├── auth/ # 认证服务JWT/SSO
│ ├── repository/ # 数据访问层
│ ├── service/ # 业务逻辑层
│ └── domain/ # 领域模型
├── frontend/admin/ # 管理后台前端
├── configs/ # 配置文件
├── docs/ # 详细文档
└── data/ # SQLite 数据库目录
```
## 核心功能
| 功能 | 说明 |
|------|------|
| 用户管理 | 注册、登录、CRUD、批量操作 |
| RBAC | 角色继承、权限细粒度控制 |
| TOTP | Google Authenticator 二次验证 |
| 设备信任 | 信任设备免二次验证 |
| 登录日志 | 完整操作审计 |
| Webhook | 事件通知user.created/deleted 等)|
| SSO | CAS 协议支持 |
## 安全特性
| 安全修复 | 状态 |
|----------|------|
| LIKE 查询 SQL 注入防护 | ✅ 已修复 |
| 登录失败计数器原子操作 | ✅ 已修复 |
| Refresh Token 黑名单 fail-closed | ✅ 已修复 |
| 验证码 Replay 防护 | ✅ 已修复 |
| CORS 危险配置检测 | ✅ 已修复 |
| UpdateUser IDOR 授权检查 | ✅ 已修复 |
| Login TOTP 设备信任门禁 | ✅ 已修复 |
| 游标分页排序一致性 | ✅ 已修复 |
| 错误信息泄露防护 | ✅ 已修复 |
| OAuth context 正确传播 | ✅ 已修复 |
| 密码修改后 Token 失效PCE | ✅ 已修复 |
## 环境变量
关键配置项(详见 `.env.example`
| 变量 | 说明 | 必填 |
|------|------|------|
| `JWT_SECRET` | JWT 签名密钥 | 是 |
| `DEFAULT_ADMIN_EMAIL` | 初始管理员邮箱 | 是 |
| `DEFAULT_ADMIN_PASSWORD` | 初始管理员密码 | 是 |
| `SMTP_*` | 邮件服务配置 | 是(邮件功能)|
| `SMS_*` | 短信服务配置 | 否 |
## API 文档
完整 API 规范:`docs/API.md`
认证流程:
```
1. POST /api/v1/auth/register # 注册用户
2. POST /api/v1/auth/login # 登录获取 Token
3. POST /api/v1/auth/refresh # 刷新 Token
```
## 开发命令
```bash
# 构建
go build ./cmd/server
# 测试(跳过大规模性能测试)
go test ./internal/... -skip TestScale -count=1
# 前端构建
cd frontend/admin && npm run build
# 前端测试
cd frontend/admin && npm test
# 前端 lint
cd frontend/admin && npm run lint
# Docker 构建
docker build -t ums .
```
## 部署
- 开发部署:`docs/DEPLOYMENT.md`
- 生产部署:`DEPLOY_GUIDE.md`
- 运行手册:`docs/guides/` 目录下的 7 个 Runbook
## 测试状态
| 测试类型 | 状态 |
|----------|------|
| Go 构建 | ✅ 通过 |
| Go vet | ✅ 通过 |
| Go 测试 | ✅ 通过37个包 |
| 前端 lint | ✅ 通过 |
| 前端测试 | ✅ 通过518个 |
| 集成测试 | ✅ 通过 |
| E2E 测试 | ✅ 通过 |
## 项目状态
完整项目状态:`docs/status/REAL_PROJECT_STATUS.md`
**2026-04-18 最新状态:** 所有 P0/P1/P2 安全和质量修复已全部完成并验证通过。