【发布时间】:2013-01-01 16:52:25
【问题描述】:
在spring框架中是否有可能在登录页面同时有2个登录实现?表单登录和基于证书的登录 (x509)。我尝试过其中任何一种方法,但同时将它们结合起来,我很难做到。知道如何启用这两种方法吗?关于这方面我可以参考的任何书籍或网站参考资料?
谢谢
【问题讨论】:
标签: java spring spring-security x509 digital-certificate
在spring框架中是否有可能在登录页面同时有2个登录实现?表单登录和基于证书的登录 (x509)。我尝试过其中任何一种方法,但同时将它们结合起来,我很难做到。知道如何启用这两种方法吗?关于这方面我可以参考的任何书籍或网站参考资料?
谢谢
【问题讨论】:
标签: java spring spring-security x509 digital-certificate
是的,可以通过将 SSL 客户端身份验证设为可选。
Here on Baeldung 是一个很好的教程,介绍使用 X.509 证书启用 SSL 客户端身份验证,强制客户端身份验证(不适合您的情况,带有登录表单后备)
按照该教程并注意 application.properties 文件,以使客户端身份验证 want 而不是 need。这将使客户端-服务器 SSL 握手尝试请求证书。
server.ssl.client-auth=want
注意
【讨论】:
是的,这是可能的。您只需在 http 配置中声明 x509 支持:
<http ...>
...
<x509 ... />
....
</http>
并在 Tomcat 中配置 SSL。
请参阅 this entry 和 this thread。
【讨论】: