如何在 Azure APIM 策略中使用 System.Net.IPAddress 解析 IP 地址

问题描述 投票:0回答:1
azure-api-management
1个回答
0
投票

我已将您的政策修改如下。请使用它,你也会得到结果。

<policies>
    <inbound>
        <base />
        <set-variable name="rawIpWhiteList" value="@{             
            List<string> rawIpWhiteList = new List<string>(){                     
                                  "**.**.**.***",                     
                                  "**.**.**.***",                 
                                  };             
        return new JArray(rawIpWhiteList);         
        }" />
        <set-variable name="validSingleIPs" value="@{             
            List<string> rawIpWhiteList = ((JArray)context.Variables["rawIpWhiteList"]).ToObject<List<string>>();             
            List<string> validIpWhiteList = rawIpWhiteList.Where(ipString => System.Net.IPAddress.TryParse(ipString, out System.Net.IPAddress _)).ToList();             
        return new JArray(validIpWhiteList);         
        }" />
    </inbound>
    <backend>
        <base />
    </backend>
    <outbound>
        <base />
    </outbound>
    <on-error>
        <base />
    </on-error>
</policies>

输出-

enter image description here

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.