Files
rust-user-api/Cargo.toml
enoch bb9d7a869d
Some checks failed
Deploy to Production / Run Tests (push) Failing after 16m35s
Deploy to Production / Security Scan (push) Has been skipped
Deploy to Production / Build Docker Image (push) Has been skipped
Deploy to Production / Deploy to Staging (push) Has been skipped
Deploy to Production / Deploy to Production (push) Has been skipped
Deploy to Production / Notify Results (push) Successful in 31s
feat: 完成Rust User API完整开发
 新功能:
- SQLite数据库集成和持久化存储
- 数据库迁移系统和版本管理
- API分页功能和高效查询
- 用户搜索和过滤机制
- 完整的RBAC角色权限系统
- 结构化日志记录和系统监控
- API限流和多层安全防护
- Docker容器化和生产部署配置

🔒 安全特性:
- JWT认证和授权
- 限流和防暴力破解
- 安全头和CORS配置
- 输入验证和XSS防护
- 审计日志和安全监控

📊 监控和运维:
- Prometheus指标收集
- 健康检查和系统监控
- 自动化备份和恢复
- 完整的运维文档和脚本
- CI/CD流水线配置

🚀 部署支持:
- 多环境Docker配置
- 生产环境部署指南
- 性能优化和安全加固
- 故障排除和应急响应
- 自动化运维脚本

📚 文档完善:
- API使用文档
- 部署检查清单
- 运维操作手册
- 性能和安全指南
- 故障排除指南
2025-08-07 16:03:32 +08:00

60 lines
1.3 KiB
TOML

[package]
name = "rust-user-api"
version = "0.1.0"
edition = "2021"
authors = ["Your Name <your.email@example.com>"]
description = "A REST API server for user management built with Rust and Axum"
[dependencies]
# Web 框架
axum = "0.7"
tokio = { version = "1.0", features = ["full"] }
tower = "0.4"
tower-http = { version = "0.5", features = ["cors", "trace", "limit", "timeout"] }
# 序列化
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
# 时间处理
chrono = { version = "0.4", features = ["serde"] }
# UUID 生成
uuid = { version = "1.0", features = ["v4", "serde"] }
# 环境变量
dotenv = "0.15"
# 日志和监控
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
tracing-appender = "0.2"
metrics = "0.21"
metrics-exporter-prometheus = "0.12"
sysinfo = "0.29"
# 安全和限流
governor = "0.6"
dashmap = "5.5"
regex = "1.10"
# 密码哈希
bcrypt = "0.15"
# JWT 认证
jsonwebtoken = "9.0"
# 验证
validator = { version = "0.16", features = ["derive"] }
# 数据库
sqlx = { version = "0.7", features = ["runtime-tokio-rustls", "sqlite", "chrono", "uuid"] }
# 异步 trait
async-trait = "0.1"
# HTTP 客户端(用于测试)
[dev-dependencies]
reqwest = { version = "0.11", features = ["json", "rustls-tls"], default-features = false }
tokio-test = "0.4"
tempfile = "3.0"