我需要提取的信息不仅仅是证书的 CN。目前,我只得到标准的 UserDetails loadUserByUsername(String arg) 其中 arg 是证书的 CN。我需要获取 X509Certificate 对象。是否可以?
关于 spring 安全 xml 文件:
<x509 subject-principal-regex="CN=(.*?)," user-service-ref="myUserDetailsService" />
最佳答案
不,你不能那样做。您需要从 HttpServletRequest 中获取它:
X509Certificate[] certs = (X509Certificate[])HttpServletRequest.getAttribute("javax.servlet.request.X509Certificate");
关于spring - 如何让证书进入X509过滤器(Spring Security)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1102721/