我正在保护一个生活在Tomcat 8上的Webapp(战争)。我使用Keycloak作为我的身份验证服务器。
我们保护的以前的webapp使用的是Servlet过滤器,我们可以通过编程方式在身份验证机制之间切换。
但是现在Keycloak是一个要求..对于正常的身份验证,keycloak要求我们修改Context.xml并将其指定如下:
对于普通身份验证:
<Context path="/your-context-path">
<Valve className="org.keycloak.adapters.tomcat.KeycloakAuthenticatorValve"/>
</Context>
对于SAML:
<Context path="/your-context-path">
<Valve className="org.keycloak.adapters.saml.tomcat.SamlAuthenticatorValve"/>
</Context>
我的问题是,有没有办法以编程方式在这两个之间切换?我们可以在那里指定多个Valve吗?