gpt4 book ai didi

wso2 - 将自定义处理程序添加到特定 API wso2 API-Manager

转载 作者:行者123 更新时间:2023-12-01 13:17:23 25 4
gpt4 key购买 nike

我需要向特定 API 添加自定义处理程序和 APIAuthenticationHandler,并且需要将其添加到

处理程序类="org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler"/>

(注意这里调用了两次APIAuthenticationHandler,这是自定义需求)

我如何通过编辑 velocity_template.xml 以编程方式执行此操作

我正在使用 API-Manager 2.00

谢谢

最佳答案

您可以使用 API custom properties为了这。将自定义属性(例如 auth_mode=Inhouse)添加到 API,然后基于此,像这样更新速度模板中的处理程序部分。

<Handlers>
#foreach($handler in $handlers)
#if(($handler.className ==
"org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler") &&
($apiObj.additionalProperties.get('auth_mode') == "Inhouse"))
<handler xmlns="http://ws.apache.org/ns/synapse" class="$handler.className">
#if($handler.hasProperties())
#set ($map = $handler.getProperties())
#foreach($property in $map.entrySet())
<property name="$!property.key" value="$!property.value"/>
#end
#end
</handler>
<handler class="org.wso2.apim.custom.extensions.CustomAuthHandler"/>
<Handlers>

如果不能使用自定义属性,可以使用$!apiName 变量。

关于wso2 - 将自定义处理程序添加到特定 API wso2 API-Manager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53468280/

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