From 258dca4f78989c3b49f8f091f56821b103fdfb3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B1=88=E8=BD=A9?= Date: Thu, 7 Dec 2023 15:22:10 +0800 Subject: [PATCH] =?UTF-8?q?fix(webconsole):=20rdp=20=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E9=9A=94=E7=A6=BB=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=20(#1892?= =?UTF-8?q?0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/webconsole/guac/guac.go | 4 ++-- pkg/webconsole/server/rdp_server.go | 12 +++++++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/pkg/webconsole/guac/guac.go b/pkg/webconsole/guac/guac.go index b5f787b9bf..1703dc9adf 100644 --- a/pkg/webconsole/guac/guac.go +++ b/pkg/webconsole/guac/guac.go @@ -19,7 +19,7 @@ import ( "net" ) -func NewGuacamoleTunnel(host string, port int, user, password string, id string, w, h, dpi int) (*GuacamoleTunnel, error) { +func NewGuacamoleTunnel(host string, port int, user, password string, id string, w, h, dpi int, uId string) (*GuacamoleTunnel, error) { opts := NewGuacOptions() opts.ConnectionId = id opts.Protocol = "rdp" @@ -41,7 +41,7 @@ func NewGuacamoleTunnel(host string, port int, user, password string, id string, "password": password, "enable-drive": "true", "drive-name": "Cloudpods", - "drive-path": "/opt/cloudpods", + "drive-path": "/opt/cloudpods/" + uId, "create-drive-path": "true", } conn, err := net.Dial("tcp", "127.0.0.1:4822") diff --git a/pkg/webconsole/server/rdp_server.go b/pkg/webconsole/server/rdp_server.go index 97ed02cb22..d10e2289f6 100644 --- a/pkg/webconsole/server/rdp_server.go +++ b/pkg/webconsole/server/rdp_server.go @@ -78,7 +78,17 @@ func (s *RDPServer) ServeHTTP(w http.ResponseWriter, r *http.Request) { defer ws.Close() - tunnel, err := guac.NewGuacamoleTunnel(s.Host, s.Port, s.Username, s.Password, s.ConnectionId, s.Width, s.Height, s.Dpi) + tunnel, err := guac.NewGuacamoleTunnel( + s.Host, + s.Port, + s.Username, + s.Password, + s.ConnectionId, + s.Width, + s.Height, + s.Dpi, + s.Session.GetClientSession().GetUserId(), + ) if err != nil { log.Errorf("NewGuacamoleTunnel error: %v", err) return