我試圖使用從mykong網站爲例來讓Spring安全...
http://www.mkyong.com/spring-security/spring-security-form-login-using-database/調試春季安全認證經理
我有它的工作使用簡單的MySQL表,但現在我想使用db2將密碼存儲在數據庫中,使用md5進行加密。
這裏是我如何設置...
<authentication-manager>
<authentication-provider>
<password-encoder hash="md5" />
<jdbc-user-service data-source-ref="dataSource"
users-by-username-query="
select employeenumber, employeepassword
from employee where employeenumber like ?
and employeestatus = 'Active'"
authorities-by-username-query="
select employeenumber, securitygroupcode
from employee
where employeenumber like ?
and employeestatus = 'Active'"
/>
</authentication-provider>
</authentication-manager>
當我嘗試登錄到我的應用程序,我輸入不正確的登錄細節它正確地告訴我...
你的登錄嘗試沒有成功,請再試一次。 引起:無效的用戶名或密碼
但是,當我登錄正確我輸入正確的登錄信息,我得到...
您的登錄嘗試不成功,再試一次。 引起:PreparedStatementCallback;未分類SQL的SQLException [選擇從僱主名稱作爲用戶名,僱員密碼作爲密碼從epos.employee其中僱傭號碼像?和sitedirectoryid = 10001和employeestatus ='激活']; SQL狀態[null];錯誤代碼[-99999]; [ibm] [db2] [jcc] [10145] [10897]無效的參數3:參數索引超出範圍。嵌套的異常是com.ibm.db2.jcc.b.SqlException:[ibm] [db2] [jcc] [10145] [10897]無效的參數3:參數索引超出範圍。
謝謝全部
它只是一個MD5散列或者在生成的散列中有其他內容(即鹽或其他東西)。另外(如果我沒有弄錯),Spring生成的MD5是小寫,所以如果db一個是大寫,那麼失敗。 –
嗨,我剛剛看了一下存儲在我的數據庫中的內容,它與我在http://md5encryption.com/上使用小寫字母時得到的內容相符。所以我想這意味着它應該是正確的? – Richie
我想通了什麼是錯的。這是我的錯誤。現在發生的是,當我輸入正確的細節時,我得到了一個不同的錯誤。我正在更改我的帖子以反映新錯誤 – Richie