gpt4 book ai didi

azure - 如何修改 Azure API 基本策略而不完全覆盖它?

转载 作者:行者123 更新时间:2023-12-02 23:32:07 24 4
gpt4 key购买 nike

在 Azure API 管理中,我尝试修改 API 内单个路由的 CORS 策略。我遇到的问题是我不知道如何修改 BASE 策略。 Azure 似乎只是用新策略覆盖它。

简单的基本策略:

<policies>
<inbound>
<cross-domain>
<cross-domain-policy>
<allow-http-request-headers-from domain="*" headers="*" />
</cross-domain-policy>
</cross-domain>
<cors>
<allowed-origins>
<origin>*</origin>
</allowed-origins>
<allowed-methods>
<method>*</method>
</allowed-methods>
<allowed-headers>
<header>*</header>
</allowed-headers>
</cors>
</inbound>
<backend>
<forward-request />
</backend>
<outbound>
</outbound>
</policies>

具体路由中,我想修改<cors>部分包含另一项政策,如下所示:

<policies>
<inbound>
<base />
<cors>
<expose-headers>
<header>Content-Disposition</header>
</expose-headers>
</cors>
</inbound>
</policies>

但是,Azure 希望用此策略覆盖基本 CORS 策略。我在文档中找不到任何有关如何修改/合并策略而不是批量替换策略的内容。

那么,我如何继承基本策略,但只需添加这个附加 <expose-headers>政策?

最佳答案

目前这是不可能的。策略的工作方式是,一旦定义了请求范围(产品、API 和操作匹配),就会通过用上层的策略替换所有标签来构建策略。由此产生的有效策略只是一个接一个执行的语句的平面列表。从这个意义上说,您无法控制较低级别的父策略。

但是您始终可以在执行父策略之前插入内容。为此,只需在标记之前放置另一个完全指定的 CORS 策略,在生成的策略中,它将首先执行。

每个有效策略有多个 CORS 策略是可以的,它们将被依次执行,并且第一个能够处理 CORS 调用(来源、方法、 header 匹配)的策略将采取行动。

关于azure - 如何修改 Azure API 基本策略而不完全覆盖它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43551713/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com