【问题标题】:HTTP Digest with hashed stored password带有散列存储密码的 HTTP 摘要
【发布时间】:2011-09-08 22:39:38
【问题描述】:

我使用 HTTP Digest 连接到我的 Spring 应用程序,使用 Spring DigestAuthenticationFilter。 该应用程序使用的是 Tomcat 7。 它适用于明文密码(在数据库中)

我的问题是:我想存储散列密码(如果可能的话,使用盐),而不是明文。但如果我理解得很好,HTTP Digest 要求密码是明文。

有没有办法在 Spring Security 中改变这一点?

【问题讨论】:

    标签: security http tomcat spring-security


    【解决方案1】:

    我想存储散列密码 (如果可能的话加盐),而不是 纯文本。但如果我理解得很好, HTTP 摘要需要密码才能 是明文。

    有没有办法改变这个 弹簧安全?

    不,这是不可更改的,至少在撰写本文时是这样。 Spring Security documentation on Digest Authentication 声明如下,很明显密码必须是明文。

    配置的 UserDetailsS​​ervice 是 需要,因为 DigestProcessingFilter 必须可以直接访问清除 用户的文本密码。消化 如果您使用身份验证将不起作用 正在使用您的编码密码 DAO。

    【讨论】:

    • 是否可以扩展 DigestAuthenticationFilter 以使其成为可能?
    • 我不确定这是否可行(因为我以前没有尝试过),但值得一试。您可能还必须扩展 DigestProcessingFilterEntryPoint,以便您可以发出 WWW-Authenticate 响应标头,其算法值不是 MD5,但浏览器支持。如果之前扩展类的方案不起作用,您还可以尝试使用 DelegatingFilterProxy 的不同方法,但我从未见过它用于摘要式身份验证。
    • 是否有自定义 AuthenticationProcessingFilter 以 DigestEntryPoint 作为其入口点,以便您可以访问用户名和密码?
    猜你喜欢
    • 2013-07-25
    • 1970-01-01
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-28
    • 2015-04-22
    • 1970-01-01
    相关资源
    最近更新 更多