feat: 新增用户管理(用户增删改查、密码重置、角色权限、会话认证)与 API 指南
- 新增 app/api/deps.py、app/core/users.py、app/core/sessions.py:会话鉴权依赖、 用户存储(PBKDF2-HMAC-SHA256 + 随机 salt,Redis/内存降级)、会话签发与校验(TTL 12h) - auth.py 新增用户管理端点(列表/创建/重置密码/删除)与 admin/user 角色权限边界, user 访问用户管理返回 1006,禁删自己与最后一个 admin - admin.html 新增用户管理面板(仅 admin 挂载)与 API 指南在线测试台 - Dockerfile 将 uv 放入 PATH;docker-compose 调整 qdrant 依赖为 service_started 并移除依赖 curl 的 healthcheck(官方镜像不含 curl) - 新增用户管理测试(users/sessions/auth_api/auth_integration),全量 461 项测试通过 Co-Authored-By: WorkBuddy <workbuddy@tencent.com>
This commit is contained in:
+4
-8
@@ -16,7 +16,7 @@ services:
|
||||
- .env
|
||||
depends_on:
|
||||
qdrant:
|
||||
condition: service_healthy
|
||||
condition: service_started
|
||||
redis:
|
||||
condition: service_healthy
|
||||
ollama:
|
||||
@@ -36,11 +36,8 @@ services:
|
||||
- "${QDRANT_DASHBOARD_PORT:-6334}:6334"
|
||||
volumes:
|
||||
- ${NAS_DATA_DIR:-./data}/qdrant:/qdrant/storage
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:6333/healthz"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
# 官方 qdrant 镜像不含 curl/wget,内部 healthcheck 无法执行 HTTP 探测;
|
||||
# 改用 service_started 依赖(qdrant 启动即就绪),由 app 的 restart 策略兜底。
|
||||
networks:
|
||||
- qmdsearch
|
||||
|
||||
@@ -48,8 +45,7 @@ services:
|
||||
image: redis:7-alpine
|
||||
container_name: qmdsearch-redis
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "${REDIS_PORT:-6379}:6379"
|
||||
# 仅内部网络访问,不对外暴露主机端口(避免与 NAS 已有 redis 的 6379 冲突)
|
||||
volumes:
|
||||
- ${NAS_DATA_DIR:-./data}/redis:/data
|
||||
healthcheck:
|
||||
|
||||
Reference in New Issue
Block a user