我使用Spring Security的2.X的預認證與X.509證書。的Spring Security X.509預認證
我通過HttpServletRequest.getAttribute("CERTIFICATE")
得到certificateText
。
有時,上述調用返回""
(空)。我相信它會在HTTP會話過期時發生。
什麼能解釋爲什麼HttpServletRequest.getAttribute("CERT")
返回空?
編輯例如,在Kerberos中,票證在每個HTTP請求中都可用。證書不是總是在X.509 HTTP請求中?
因此,如果客戶端證書驗證失敗,則HTTP會話將不包括'javax.servlet.request.X509Certificate'屬性?我添加了日誌語句來打印'request.getAttributeNames()',然後遍歷它們。有時候不會有'javax.servlet.request.X509Certificate'證書。 找出失敗原因的關鍵是Apache日誌? – 2013-05-10 14:57:33
您如何連接Apache和您的servlet容器? AJP? – Michael 2013-05-10 17:01:54
Apache和Tomcat通過'mod_jk'進行通信。但我確實有這個屬性設置:'conf.d/workers.properties:worker.eurekastreams.type = ajp13'按您編輯 – 2013-05-10 17:30:32