2010-12-15 143 views
2

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

+0

所以如果有人没有密码,你的安全性就会被打败,如果你纠正了这个问题。 – Woot4Moo 2010-12-15 22:17:25

+0

这是一项业务需求,我必须要有推动力。是的,它可能听起来很疯狂,但有些商业案例有时需要一些帐户才能在没有密码的情况下登录。 – 2010-12-16 02:15:18

+1

你如何提交空白密码的请求,例如curl -u用户:url? – gigadot 2010-12-16 12:17:59

回答

2

宁可没有密码,你尝试在AuthenticationProvider之前的过滤器中设置密码到一些默认的“NOPASSWORD”?我认为其中一个pre-auth过滤器做了一个简单的'if(password == null)'并且失败了,那是你的问题。

相关问题