Security 具有哈希存储密码的HTTP摘要

Security 具有哈希存储密码的HTTP摘要,security,http,tomcat,spring-security,Security,Http,Tomcat,Spring Security,我使用HTTP摘要连接到我的Spring应用程序,使用SpringDigestAuthenticationFilter。 应用程序正在使用Tomcat7。 它可以使用明文密码(在数据库中)正常工作 我的问题是:我想存储散列密码(如果可能的话,使用salt),而不是明文。但如果我理解得很好,HTTP摘要要求密码为明文 有没有办法在SpringSecurity中改变这一点 我想存储散列密码 (如果可能的话,可以加盐),而不是在 纯文本。但如果我理解得很好, HTTP摘要需要密码才能访问 以明文形式

我使用HTTP摘要连接到我的Spring应用程序,使用SpringDigestAuthenticationFilter。 应用程序正在使用Tomcat7。 它可以使用明文密码(在数据库中)正常工作

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

有没有办法在SpringSecurity中改变这一点

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

有没有办法改变这种情况 春季安全

不,这是不能改变的,至少在写这篇文章的时候。以下说明,其中很明显密码必须为明文

已配置的UserDetailsService为 需要,因为DigestProcessingFilter 必须能够直接访问clear 用户的文本密码。消化 如果您需要,身份验证将不起作用 是否在您的计算机中使用编码密码 刀


是否可以扩展DigestAuthenticationFilter以使其成为可能?我不确定这是否可行(因为我以前从未尝试过),但值得一试。您可能还必须扩展DigestProcessingFilterEntryPoint,以便可以使用非MD5但受浏览器支持的算法值发出WWW Authenticate响应头。如果前面的扩展类方案不起作用,您也可以尝试使用DelegatingFilterProxy的不同方法,但我从未见过它用于摘要身份验证。是否有必要制作一个自定义的AuthenticationProcessingFilter,将
DigestEntryPoint
作为其入口点,以便您可以访问用户名和密码?