【问题标题】:How to organize X509 authentication in web application with Java and Spring?如何使用 Java 和 Spring 在 Web 应用程序中组织 X509 身份验证?
【发布时间】:2011-07-05 16:54:46
【问题描述】:

我有带有私钥和 X509 证书的 USB 令牌。它可以从Firefox中看到,所以它是OK的。 我有来自 Spring Security 的示例应用程序(我使用的是版本 3),它只是演示了不同类型的身份验证。该应用程序部署在 JBoss AS 6 上。 我搜索了许多论坛和文章以获取信息,如何使用 X509 证书而不是使用登录/通过身份验证(例如:x509 authentication with spring security 2.0.4)。我见过的所有地方:“只需在您的 applicationContext.xml 中添加 x509 标记”,“哦,谢谢!它有效!”。 在 applicationContext.xml 中来自 Spring Security 的示例应用程序中有 x509 片段,该片段已被注释。我已经取消了那些东西的注释,但没有任何效果。该应用程序记录了所有操作,因此我可以看到,当我加载应用程序页面时,X509 过滤器正在触发,但它什么也没做,因为它在日志中写道:“在用户请求中找不到证书”。

你能帮我解决这个问题吗? Spring是否应该从浏览器的证书中获取CN并使用它而不是登录名?我做错了什么?

附:我在 applicationContext.xml 中有正确的用户服务块。

附言对不起,我的语言不是我的母语。

【问题讨论】:

    标签: java spring authentication x509


    【解决方案1】:

    我不熟悉 Spring,但文档表明:

    您应该熟悉使用证书和设置客户端 在尝试使用 servlet 容器之前对其进行身份验证 与弹簧安全。大部分工作是创建和安装 合适的证书和密钥。例如,如果您使用的是 Tomcat 然后阅读此处的说明 http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html。这一点很重要 在使用 Spring Security 进行尝试之前,您必须先完成这项工作

    首先我认为你必须在你的 JBoss servlet 容器中设置 X509 身份验证。

    【讨论】:

    • 我有 clientAuth = true 并且 HTTPS 在我的 JBoss 设置中工作。我不知道我还需要什么。
    猜你喜欢
    • 1970-01-01
    • 2012-08-03
    • 1970-01-01
    • 2014-01-15
    • 1970-01-01
    • 1970-01-01
    • 2012-12-08
    • 2011-02-05
    • 2011-04-24
    相关资源
    最近更新 更多