gpt4 book ai didi

java - Tomcat 7 和 request.getUserPrincipal() 上的相互身份验证

转载 作者:行者123 更新时间:2023-11-30 07:28:31 26 4
gpt4 key购买 nike

我正在尝试在 Tomcat 7 应用程序上设置相互身份验证。我的 server.xml 具有以下连接器:

 <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8443"
enableLookups="true"
acceptCount="100"
connectionTimeout="20000"
useURIValidationHack="false"
disableUploadTimeout="true"
scheme="https"
secure="true"
SSLEnabled="true"
keystoreFile="servercert.jks"
keystorePass="password"
truststoreFile="truststore.jks"
truststorePass="password"
clientAuth="true"
sslProtocol="TLS" />

当我尝试使用类似于“https://testserver:8443/myapp/LoadUser.do”的 URL 执行 struts 操作时,浏览器提示我输入客户端证书。当我提供我的服务器信任的证书时,它似乎可以很好地进行身份验证。在服务器端,我希望通过调用 request.getUserPrincipal() 获取客户端证书的通用名称,但它只是空值。我假设 getUserPrincipa() 应该设置为 CN 是否正确?如果是,我做错了什么/遗漏了什么。如果不是,如何在服务器端检索 CN?

谢谢。

最佳答案

我像个傻瓜一样看错了地方。我从请求中获取所有证书信息:

request.getAttribute(org.apache.catalina.Globals.CERTIFICATES_ATTR);

关于java - Tomcat 7 和 request.getUserPrincipal() 上的相互身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9151395/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com