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