如何使用spring security使用空密码进行基本身份验证?

Posted

技术标签:

【中文标题】如何使用spring security使用空密码进行基本身份验证?【英文标题】:How to do basic authentication with empty password using spring security? 【发布时间】:2011-05-26 04:48:51 【问题描述】:

我正在使用 spring security (2.0.6) 来执行 HTTP BASIC 身份验证。我编写了一个自定义身份验证提供程序类,用于针对我的数据库验证用户名和密码。我遇到的问题是某些用户没有密码。这些用户会收到“拒绝访问”消息。我调试了代码,发现当用户密码为空时,我的自定义身份验证提供程序没有被调用。有谁知道如何解决这个问题?我需要允许一些用户使用空白密码。

【问题讨论】:

所以如果有人没有密码,你的安全性就会被破坏,如果你纠正这个。 这是我必须实施的业务需求。是的,这听起来很疯狂,但在某些商业案例中,您有时需要一些帐户才能在没有密码的情况下登录。 如何使用空白密码提交请求,例如curl -u 用户:网址? 【参考方案1】:

然后没有密码您是否尝试将 AuthenticationProvider 之前的过滤器中的密码设置为“NOPASSWORD”之类的默认值?我认为其中一个预身份验证过滤器执行了一个简单的“if (password == null)”并且失败了,这就是您的问题。

【讨论】:

以上是关于如何使用spring security使用空密码进行基本身份验证?的主要内容,如果未能解决你的问题,请参考以下文章

BCrypt:使用 Spring Security 的空编码密码

具有会话获取在线用户的 Spring Security 返回空

如何使用spring-security通过用户名和密码登录?

作为管理员,如何使用 Grails Spring Security 以编程方式更改用户密码?

如何从 Grails 中的 Spring Security 获取普通密码或解密密码?

Grails Spring-Security - 如何比较密码-