Merge branch 'Test.IRC' of http://192.168.3.69:2000/XCKJ/irc-netcore-api into Test.IRC

IRC_NewDev
hang 2023-11-06 14:09:34 +08:00
commit e2fd05db81
3 changed files with 32 additions and 2 deletions

View File

@ -51,7 +51,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}");

View File

@ -710,6 +710,7 @@ namespace IRaCIS.Application.Services
#region 访视任务 - Dicom 阅片 表格问题相关查询
/// <summary>
/// 获取DIcom阅片问题答案
/// </summary>

View File

@ -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;
}
}
}