微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Azure APIM 基于产品限制动词

如何解决Azure APIM 基于产品限制动词

我们有多个 API,它们具有多种读取和写入数据的方法。所有 API 都通过 APIM,我想为这些 API 创建和分配产品,但限制使用动词(GET、POST、DELETE 等)读取或写入。

我想创建一个名为“api-(name)-read”的产品并设置一个仅允许 GET 动词的策略。将有另一个产品“api-(name)-write”允许所有动词。我在 CORS 部分看到,我可以设置允许的方法,但不想在产品级别维护 CORS 设置。知道如何将产品限制为“只读”操作吗?

解决方法

CORS 不用作基于动词允许或拒绝请求的一般方法,它仅用于实际的 CORS 功能:https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS。此外,产品范围的 CORS 也有其自身的局限性。

要执行您想要的操作,请在产品范围内添加如下政策:

<choose>
    <when condition="@(context.Request.Method != "GET")">
        <return-response>
            <set-status code="401" reason="Unauthorized"/>
        <return-response>
    </when>
</choose>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。