我试图阻止包含具有特定属性值的json有效负载的请求到达我的目标后端。
例如:
{"status":"pending"}
如果状态为“待处理”,在看到状态为“已交付”之前,我不希望它打到目标后端。
最好的方法是什么?
我在代理端点预流程中有一个步骤,该步骤使用javascript策略来标识属性及其值。现在我知道了,如何防止请求到达目标后端,而只是向请求者返回200 ok?
答案 0 :(得分:0)
由于您已经有了JS来标识属性,因此现在在JS策略之后的预流程中有一个策略“ Raise-Fault-Attribute”。
<Step>
<Condition>(Status is pending) or (Status is null)</Condition>
<Name>Raise-Fault-Attribute</Name>
</Step>
`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RaiseFault async="false" continueOnError="false" enabled="true" name="Raise-Fault-Attribute">
<DisplayName>Raise Fault Attribute</DisplayName>
<Properties/>
<FaultResponse>
<Set>
<Headers/>
<Payload contentType="text/xml">
....
</Payload>
<StatusCode>500</StatusCode>
<ReasonPhrase>Server Error</ReasonPhrase>
</Set>
</FaultResponse>
<IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
</RaiseFault>
`
希望这对您有帮助...