2026-06-10 20:58:46 +08:00
|
|
|
# 2026-06-10 — 3389 独立 RDP 主机管理
|
|
|
|
|
|
|
|
|
|
## 摘要
|
|
|
|
|
|
|
|
|
|
RDP 远程桌面改为在「3389远程」页单独添加/管理,不再依赖子机列表或服务器编辑表单。
|
|
|
|
|
|
|
|
|
|
## 动机
|
|
|
|
|
|
|
|
|
|
3389 目标数量少、与 SSH 子机资产无关;用户希望在 RDP 页直接录入地址与凭据后点击连接。
|
|
|
|
|
|
|
|
|
|
## 涉及文件
|
|
|
|
|
|
|
|
|
|
- `server/domain/models/__init__.py` — `rdp_hosts` 表
|
|
|
|
|
- `server/infrastructure/database/migrations.py`
|
|
|
|
|
- `server/infrastructure/database/rdp_host_repo.py`
|
|
|
|
|
- `server/api/rdp_hosts.py` — CRUD + connect
|
|
|
|
|
- `server/api/rdp.py` — WS `/ws/rdp/hosts/{id}`
|
|
|
|
|
- `frontend/src/pages/RdpPage.vue` — 列表、添加、连接
|
|
|
|
|
- `frontend/src/components/rdp/RdpHostFormDialog.vue`
|
|
|
|
|
- `frontend/src/composables/rdp/useRdpHostList.ts`
|
|
|
|
|
- 移除服务器表单与子机页 RDP 入口
|
|
|
|
|
|
|
|
|
|
## 行为
|
|
|
|
|
|
|
|
|
|
- `GET/POST/PUT/DELETE /api/rdp/hosts/` 管理独立 RDP 主机
|
|
|
|
|
- 添加成功后自动跳转连接;列表项可「连接 / 编辑 / 删除」
|
|
|
|
|
- 密码 Fernet 加密存储;connect 接口仅管理员 JWT
|
|
|
|
|
|
2026-06-10 21:18:23 +08:00
|
|
|
## 修复(2026-06-10 晚)
|
|
|
|
|
|
|
|
|
|
- WS 鉴权 token 改路径 `/ws/rdp/hosts/{id}/tunnel/{jwt}`,避免 Guacamole `connect()` 追加 `?hostname=` 破坏 `?token=` 查询串
|
|
|
|
|
|
2026-06-10 20:58:46 +08:00
|
|
|
## 验证
|
|
|
|
|
|
|
|
|
|
- `pytest tests/test_rdp_hosts.py`
|
|
|
|
|
- 3389远程 → 添加 → 连接 Windows RDP
|