我正在使用Spring Security 2.x的Preauthentication和X.509证书。
我通过certificateText
获得HttpServletRequest.getAttribute("CERTIFICATE")
。
有时,上述调用返回""
(空)。我相信它会在HTTP会话到期时发生。
什么可以解释为什么HttpServletRequest.getAttribute("CERT")
返回空?
编辑例如,在Kerberos中,票证在每个HTTP请求中都可用。证书不总是在X.509 HTTP请求中吗?
答案 0 :(得分:1)
X509Certificate[] certs = (X509Certificate[]) request.getAttribute("javax.servlet.request.X509Certificate");
确保您的支持长证书链:
将max_packet_size属性添加到worker.properties文件中
worker.ajp13w.max_packet_size=65536
将packetSize propery添加到Tomcat配置\ conf \ server.xml中的Ajp连接器配置
<Connector port="8089"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" packetSize="65536"/>
Apache日志: http://httpd.apache.org/docs/2.2/logs.html#accesslog http://httpd.apache.org/docs/2.2/logs.html#errorlog http://httpd.apache.org/docs/2.2/mod/core.html#loglevel