spring - 如何让证书进入X509过滤器(Spring Security)?

标签 spring spring-security x509certificate

我需要提取的信息不仅仅是证书的 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/

相关文章:

javascript - 区分浏览器关闭事件和注销事件

java - 没有定义类型 [] 的唯一 bean : expected single matching bean but found 2: [dbImpl, DbImpl]

openssl - 如何使用 OpenSSL 生成 X509 证书的所有权证明?

java - 将自定义 AccessDecisionManager 与 HttpSecurity addFilterBefore 一起使用不起作用

spring-security - 获取用户主体的自定义属性

wcf - 通过 HTTPS 上的客户端证书对 WCF 请求进行身份验证

java - 在 https 中使用证书

java - 动态加载Spring聚合参数进行测试

java - 为什么在 Spring 中有 2 种处理静态资源的方式(addResourceHandlers 和容器的 Default Servlet")?

java - 创建名称为 'org.springframework.security.filterChains' Spring + Hibernate + UserDetailSservice 的 bean 时出错