From 50ce20071a18c97c7a2813c995f93e4c131fd520 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Thu, 2 Nov 2023 15:53:09 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=AE=B9=E5=99=A8=E7=9C=9F=E5=AE=9Eip?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRaCIS.Core.Infra.EFCore/AuthUser/UserInfo.cs | 31 ++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/IRaCIS.Core.Infra.EFCore/AuthUser/UserInfo.cs b/IRaCIS.Core.Infra.EFCore/AuthUser/UserInfo.cs index 890033cda..eddead0fd 100644 --- a/IRaCIS.Core.Infra.EFCore/AuthUser/UserInfo.cs +++ b/IRaCIS.Core.Infra.EFCore/AuthUser/UserInfo.cs @@ -212,7 +212,7 @@ namespace IRaCIS.Core.Domain.Share get { - return _accessor?.HttpContext?.Connection.RemoteIpAddress.ToString(); + return _accessor?.HttpContext.GetClientIP(); } } @@ -341,4 +341,33 @@ namespace IRaCIS.Core.Domain.Share } + + public static class HttpContextExtension + { + public static string GetClientIP(this HttpContext context) + { + var ip = context.Request.Headers["Cdn-Src-Ip"].FirstOrDefault(); + if (!string.IsNullOrEmpty(ip)) + return IpReplace(ip); + + ip = context.Request.Headers["X-Forwarded-For"].FirstOrDefault(); + if (!string.IsNullOrEmpty(ip)) + return IpReplace(ip); + + ip = context.Connection.RemoteIpAddress.ToString(); + + return IpReplace(ip); + } + + static string IpReplace(string inip) + { + //::ffff: + //::ffff:192.168.2.131 这种IP处理 + if (inip.Contains("::ffff:")) + { + inip = inip.Replace("::ffff:", ""); + } + return inip; + } + } } From ceb111eccd04e31775c04863b69f86302208218f Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Fri, 3 Nov 2023 16:13:21 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Reading/ReadingImageTask/ReadingImageTaskService.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index da06e0a23..a6bfa7786 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -710,6 +710,7 @@ namespace IRaCIS.Application.Services #region 访视任务 - Dicom 阅片 表格问题相关查询 + /// /// 获取DIcom阅片问题答案 /// From ad3b0f84c24228d08610be8411d8f18a5b84304e Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Fri, 3 Nov 2023 16:19:43 +0800 Subject: [PATCH 3/3] x --- .../IRacisHostFile/MultiDiskStaticFilesMiddleware.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IRaCIS.Core.API/_PipelineExtensions/IRacisHostFile/MultiDiskStaticFilesMiddleware.cs b/IRaCIS.Core.API/_PipelineExtensions/IRacisHostFile/MultiDiskStaticFilesMiddleware.cs index e8137fbd8..d2ecc5990 100644 --- a/IRaCIS.Core.API/_PipelineExtensions/IRacisHostFile/MultiDiskStaticFilesMiddleware.cs +++ b/IRaCIS.Core.API/_PipelineExtensions/IRacisHostFile/MultiDiskStaticFilesMiddleware.cs @@ -47,7 +47,7 @@ namespace IRaCIS.Core.API var path = context.Request.Path.Value; var isIRacisFile = path.StartsWith($"/{StaticData.Folder.IRaCISDataFolder}"); - var isDicomFile = path.Contains($"{StaticData.Folder.DicomFolder}"); + var isDicomFile = isIRacisFile && path.Contains($"{StaticData.Folder.DicomFolder}");