由于我没有Web应用程序的源代码,因此我创建了另一个可以在允许任何请求到达主应用程序之前进行必要验证的应用程序。
由于我使用的是Jetty,我使用了Rewrite。
我成功拦截了旨在覆盖要保护的应用的HTTP请求。但是当新应用程序重定向到主题应用程序时,我会以某种方式进入无限循环。
因此,Jetty阻止重定向到与Jetty-Rewrite.xml文件中的过滤器值匹配的url。
到目前为止,所有工作都将重定向到验证表单。我不能前进。
Jetty-Rewrite.xml 中的两个关键规则,并导致问题,如下所示:
<Call name="addRule">
<Arg>
<New class="org.eclipse.jetty.rewrite.handler.RewriteRegexRule">
<Set name="regex">/destination-app/(.*)</Set>
<Set name="replacement">/verification-app/</Set>
<Set name="terminating">false</Set>
</New>
</Arg>
</Call>
<Call name="addRule">
<Arg>
<New class="org.eclipse.jetty.rewrite.handler.RewriteRegexRule">
<Set name="regex">/dummy-path/</Set>
<Set name="replacement">/destination-app/login.jsp</Set>
<Set name="terminating">false</Set>
</New>
</Arg>
</Call>
基本上,这就是我需要做的事情: