2010-06-12 43 views
0

我的一個QA團隊的同事向我報告了一個bug,該bug說無法將密碼更改爲小寫,否則登錄被拒絕,使用數字或大寫字母都很好。登錄系統是使用acegi 1.0(現在稱爲Spring Security)實現的。爲什麼acegi(Spring Security)在比較之前將密碼轉換爲大寫?

這是一個非常奇怪的錯誤,更改密碼是通過將用戶輸入字符串加密到MD5字符串中完成的,我沒有使用任何相關的acegi實現了這一點,如果問題的原因,我不會。

當登錄被拒絕時,通過調試,我發現用戶輸入在通過acegi比較邏輯時被acegi轉換爲大寫。起初,我不相信這一點,當我檢查acegi源代碼並使用它進行調試時,我發現它將用戶名和密碼都轉換爲大寫(source code line 121),你能告訴我爲什麼這樣做嗎?這可能導致密碼編碼不匹配!

+2

你在使用Siteminder嗎?您鏈接的代碼是特定於Siteminder的實現。如果你沒有使用它,你可能會看錯代碼。 – 2010-06-12 14:03:28

+0

不,我檢查acegi的源代碼,看起來完全一樣。這很荒謬,爲什麼它將密碼更改爲大寫?我想它一定有一個很好的理由。 – Sawyer 2010-06-12 14:28:07

回答

0

感謝馬特,我的團隊中的一些人選擇了Acegi的Siteminder實現,這是造成這個問題的原因。

相關問題