我的一位QA团队的同事向我报告了一个错误,该错误表示无法将密码更改为小写,否则登录被拒绝,使用数字或大写都很好。登录系统是使用acegi 1.0(现在称为Spring Security)实现的。
这是一个非常奇怪的错误,更改密码是通过将用户输入字符串加密到MD5字符串来完成的,我实现了这个而不使用任何相关的acegi,我不知道是否是问题的根本原因。
当登录被拒绝时,通过调试,我发现,当传递给acegi比较逻辑时,用户输入被acegi转换为大写。起初,我不相信这一点,当我检查acegi源并使用它进行调试时,我发现它确实将用户名和密码都转换为大写(source code line 121),你能告诉我为什么会这样做吗?这可能导致密码编码不匹配!
答案 0 :(得分:0)
非常感谢,我团队中的一些人选择了Acegi的Siteminder实现,这是造成这个问题的原因。