From 5266d2ce50b7fe81b87dda1d39e4665820f937b7 Mon Sep 17 00:00:00 2001 From: Ambition <918632536@qq.com> Date: Wed, 23 Oct 2024 15:00:46 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E7=AB=AF=E5=AF=86=E9=92=A5=E4=BD=BF=E7=94=A8=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E6=98=9F=E5=8F=B7=E4=BD=9C=E4=B8=BA=E5=85=B3=E8=81=94=E8=A7=84?= =?UTF-8?q?=E5=88=99=E6=97=B6=EF=BC=8C=E6=B2=A1=E6=9C=89=E6=9D=83=E9=99=90?= =?UTF-8?q?=E6=8B=89=E5=8F=96=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bcs-services/bcs-bscp/cmd/feed-server/service/rpc_sidecar.go | 4 ++++ bcs-services/bcs-bscp/pkg/tools/tools.go | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/bcs-services/bcs-bscp/cmd/feed-server/service/rpc_sidecar.go b/bcs-services/bcs-bscp/cmd/feed-server/service/rpc_sidecar.go index 8a707fe411..f0c512f8c9 100644 --- a/bcs-services/bcs-bscp/cmd/feed-server/service/rpc_sidecar.go +++ b/bcs-services/bcs-bscp/cmd/feed-server/service/rpc_sidecar.go @@ -436,6 +436,8 @@ func (s *Service) GetDownloadURL(ctx context.Context, req *pbfs.GetDownloadURLRe return nil, status.Errorf(codes.Aborted, "get app meta failed, %s", err.Error()) } + req.FileMeta.ConfigItemSpec.Path = tools.ConvertBackslashes(req.FileMeta.ConfigItemSpec.Path) + // validate can file be downloaded by credential. match, err := s.bll.Auth().CanMatchCI( im.Kit, req.BizId, app.Name, req.Token, req.FileMeta.ConfigItemSpec.Path, req.FileMeta.ConfigItemSpec.Name) @@ -698,6 +700,8 @@ func (s *Service) AsyncDownload(ctx context.Context, req *pbfs.AsyncDownloadReq) return nil, status.Errorf(codes.PermissionDenied, "not have app %s permission", app.Name) } + req.FileMeta.ConfigItemSpec.Path = tools.ConvertBackslashes(req.FileMeta.ConfigItemSpec.Path) + if !credential.MatchConfigItem(app.Name, req.FileMeta.ConfigItemSpec.Path, req.FileMeta.ConfigItemSpec.Name) { return nil, status.Error(codes.PermissionDenied, "no permission download file") } diff --git a/bcs-services/bcs-bscp/pkg/tools/tools.go b/bcs-services/bcs-bscp/pkg/tools/tools.go index 9f8b8ce08d..3824186286 100644 --- a/bcs-services/bcs-bscp/pkg/tools/tools.go +++ b/bcs-services/bcs-bscp/pkg/tools/tools.go @@ -331,3 +331,8 @@ func SplitPathAndName(remainingPath string) (string, string) { } return remainingPath, "" } + +// ConvertBackslashes 用于将字符串中的反斜杠转换为正斜杠 +func ConvertBackslashes(input string) string { + return strings.ReplaceAll(input, `\`, "/") +}