【发布时间】:2011-03-03 00:23:18
【问题描述】:
我的一个QA团队的同事向我报告了一个错误,错误说不能将密码更改为小写,否则登录被拒绝,使用数字或大写都可以。登录系统是使用 acegi 1.0(现在称为 Spring Security)实现的。
这是一个非常奇怪的错误,更改密码是通过将用户输入字符串加密为 MD5 字符串来完成的,我在没有使用任何相关 acegi 的情况下实现了这一点,如果这是问题的根源,我不这样做。
当登录被拒绝时,通过调试,我发现,用户输入在传递给acegi比较逻辑时被acegi转换为大写。起初,我不相信,当我检查 acegi 源并用它调试时,我发现它确实将用户名和密码都转换为大写(source code line 121),你能告诉我为什么会这样吗?这会导致密码编码不匹配!
【问题讨论】:
-
您在使用 Siteminder 吗?您链接到的代码是特定于 Siteminder 的实现。如果您不使用它,您可能正在查看错误的代码。
-
不,我从 acegi 签出源代码,看起来完全一样。这太荒谬了,为什么将密码更改为大写?我想这一定有充分的理由。
标签: java spring-security