【发布时间】:2020-08-08 21:23:21
【问题描述】:
我有一个包含以下内容的 XML 文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Get name="securityHandler">
<Set name="authenticator">
<New class="org.keycloak.adapters.jetty.KeycloakJettyAuthenticator">
<Set name="adapterConfig">
<New class="org.keycloak.representations.adapters.config.AdapterConfig">
<Set name="realm">test-realm</Set>
<Set name="resource">$KC_CLIENTID</Set>
<Set name="authServerUrl">$KC_URL</Set>
<Set name="sslRequired">external</Set>
<Set name="bearerOnly">true</Set>
<Set name="confidentialPort">0</Set>
</New>
</Set>
</New>
</Set>
</Get>
</Configure>
我正在寻找从环境中读取值并根据环境中设置的值进行替换的 XML 处理器。
例如,我设置了$KC_URL=http://localhost:8080/auth/,在继续使用 XML 处理器后它应该显示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Get name="securityHandler">
<Set name="authenticator">
<New class="org.keycloak.adapters.jetty.KeycloakJettyAuthenticator">
<Set name="adapterConfig">
<New class="org.keycloak.representations.adapters.config.AdapterConfig">
<Set name="realm">test-realm</Set>
<Set name="resource">test</Set>
<Set name="authServerUrl">http://localhost:8080/auth/</Set>
<Set name="sslRequired">external</Set>
<Set name="bearerOnly">true</Set>
<Set name="confidentialPort">0</Set>
</New>
</Set>
</New>
</Set>
</Get>
</Configure>
Linux 上是否存在这样的 XML 处理器?
【问题讨论】: