0

我正在开发一个组件,该组件需要在没有客户端身份验证的情况下通过 https 连接到用户,并在启用客户端身份验证的情况下与其他组件通信。

我想用两个安全连接器启动组件,一个启用客户端身份验证说 C1,一个禁用说 C2。

我还想配置我的组件的哪个 servlet 将使用连接器 C1 运行,哪个将在 C2 上运行。

有什么解决办法吗?

4

2 回答 2

0

我得到了这个问题的部分答案

您可以在 servlet.xml 配置中为 tomcat 添加多个连接器,一个在 8443 上启用客户端身份验证,一个在端口 8444 上未启用客户端身份验证。

那么您是否需要客户端身份验证将取决于您与服务器通信的端口。

但是我仍然没有找到强制(并自动重定向)servlet 在预配置连接器上进行通信的方法。

于 2012-10-18T05:50:29.890 回答
0

您可以通过两种方式实现拆分:

  1. 将您的应用程序分成两场战争:一场用于需要客户端身份验证的 servlet,另一场用于不需要客户端身份验证的 servlet。然后在 Tomcat 中创建两个虚拟主机,每个虚拟主机都有一个连接器和一个 war 文件。
  2. 编写要调用的应用程序,request.getAttribute("javax.servlet.request.X509Certificate")并根据所需的路由决定是否将重定向(通过 302 HTTP 代码)发送回客户端。
于 2012-10-19T12:43:45.453 回答