From 65e50fec54e98ff9d4d092640debecfe5a882cff Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Fri, 20 Dec 2024 13:42:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9scp=20=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRaCIS.Core.Infra.EFCore/AuthUser/UserInfo.cs | 28 ++++++++++++------- .../EntityConfigration/ImageConfigration.cs | 4 +++ 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/IRaCIS.Core.Infra.EFCore/AuthUser/UserInfo.cs b/IRaCIS.Core.Infra.EFCore/AuthUser/UserInfo.cs index 6b6e1253e..c2210fa49 100644 --- a/IRaCIS.Core.Infra.EFCore/AuthUser/UserInfo.cs +++ b/IRaCIS.Core.Infra.EFCore/AuthUser/UserInfo.cs @@ -366,17 +366,25 @@ namespace IRaCIS.Core.Domain.Share { public static string GetClientIP(this HttpContext context) { - var ip = context.Request.Headers["Cdn-Src-Ip"].FirstOrDefault(); - if (!string.IsNullOrEmpty(ip)) + //scp 服务创建的记录不能获取请求上下文 + if (context != null) + { + 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); - - ip = context.Request.Headers["X-Forwarded-For"].FirstOrDefault(); - if (!string.IsNullOrEmpty(ip)) - return IpReplace(ip); - - ip = context.Connection.RemoteIpAddress.ToString(); - - return IpReplace(ip); + } + else + { + return string.Empty; + } } static string IpReplace(string inip) diff --git a/IRaCIS.Core.Infra.EFCore/EntityConfigration/ImageConfigration.cs b/IRaCIS.Core.Infra.EFCore/EntityConfigration/ImageConfigration.cs index a7bd145e0..2b2d4d63c 100644 --- a/IRaCIS.Core.Infra.EFCore/EntityConfigration/ImageConfigration.cs +++ b/IRaCIS.Core.Infra.EFCore/EntityConfigration/ImageConfigration.cs @@ -75,6 +75,8 @@ public class TaskInstanceConfigration : IEntityTypeConfiguration public void Configure(EntityTypeBuilder builder) { builder.HasKey(e => e.SeqId); + + builder.HasOne(e => e.TaskStudy).WithMany(t=>t.InstanceList).HasForeignKey(t => t.StudyId).HasPrincipalKey(st => st.Id); } } @@ -104,6 +106,8 @@ public class SCPInstanceConfigration : IEntityTypeConfiguration public void Configure(EntityTypeBuilder builder) { builder.HasKey(e => e.SeqId); + + builder.HasOne(e => e.SCPStudy).WithMany(t => t.InstanceList).HasForeignKey(t => t.StudyId).HasPrincipalKey(st => st.Id); } }