2010-03-02 24 views
3

我正在使用JNDI在Web應用程序中進行身份驗證。在OpenLDAP方面,我使用ppolicy(例如)在三次失敗登錄嘗試後阻止用戶的帳戶。如何在使用JNDI在Java中使用ppolicy時遇到特定錯誤

我的問題是,我在執行時需要具體錯誤信息(如「帳戶鎖定」),讓用戶知道什麼是具體的問題,但現在我剛開始異常:

InitialLdapContext ctx = new InitialLdapContext(env, null); 

而異常中的消息只是[LDAP: error code 49 - Invalid Credentials]

我發現a related post顯示瞭如何做到這一點的一個例子;然而,這只是讓我更加困惑,因爲我無法在任何地方找到像PasswordExpiringResponseControl這樣的課程,再加上我馬上得到一個例外,所以我將無法執行respControls = ctx.getResponseControls()

+0

您是否找到解決方案? – kukudas 2014-03-06 19:07:40

回答

3

這可能比它的價值更痛苦,但如果您使用Spring-LDAP,它會自動將這些錯誤代碼轉換爲很好的例外。無論如何,這個庫是非常好的,從長遠來看,這可能會讓你的代碼更乾淨,更易於維護。

如果你不熟悉Spring,那麼可能會有一些學習曲線;但是,如果你想走這條路,this is a good article on it,包括如何使用JNDI設置它,等

+0

我也使用過Spring LDAP。與編寫「原始」LDAP代碼相比,它非常棒。 – Vinnie 2010-03-02 18:49:52

相關問題