2012-10-18 60 views
0

我正在開發一個組件,該組件需要通過https連接到用戶,無需客戶端身份驗證,並與啓用了客戶端身份驗證的其他組件進行通信。多個Https Tomcat連接器需要客戶端身份驗證的一個不需要

我想用兩個安全連接器啓動組件,一個使用客戶端身份驗證啓用說C1和一個禁用說C2。

我也想配置我的組件的哪個servlet將使用連接器C1運行,哪些將運行在C2上。

有沒有解決方案呢?

回答

0

我得到了部分回答了這個問題

可以在servlet.xml中配置具有客戶端身份驗證啓用了8443和一個不說身份驗證客戶端啓用了說端口添加多個連接器,用於Tomcat的一個8444

然後,是否要客戶端身份驗證取決於您與服務器通信的端口。

但我仍然沒有找到強制(並自動重定向)servlet在預配置連接器上進行通信的方式。

0

您可以通過兩種方式實現分裂:

  1. 分裂您的應用程序到兩場戰爭:一個用於需要與客戶端驗證,另一個用於那些沒有被服務的servlet。然後在Tomcat中創建兩個虛擬主機,每個虛擬主機有一個連接器和一個戰爭文件。
  2. 編寫您的應用程序以致電request.getAttribute("javax.servlet.request.X509Certificate"),並根據您所需的路由決定是否發送重定向(通過302 HTTP代碼)回客戶端。
相關問題