2013-06-25 66 views
0

我使用UnboundID進行鍼對Active Directory的認證。 當我使用錯誤的密碼進行身份驗證並且用戶配置爲「用戶必須在下次登錄時更改密碼」時,我有相同的錯誤代碼。 「密碼錯誤」的異常:如何區分「用戶下次登錄時必須更改密碼」和「密碼錯誤」用例?

LDAPException(resultCode=49 (invalid credentials), errorMessage='80090308: LdapErr: DSID-0C090334, comment: AcceptSecurityContext error, data 52e, vece 

例外「用戶下次登錄時須更改密碼」:

LDAPException(resultCode=49 (invalid credentials), errorMessage='80090308: LdapErr: DSID-0C090334, comment: AcceptSecurityContext error, data 773, vece 

唯一不同的是字數據的異常消息的價值。 我不想依賴這條消息。 如何區分「用戶必須在下次登錄時更改密碼」和「密碼錯誤」用例?

回答

1

就讓我們來看看這個頁面:

http://ldapwiki.willeke.com/wiki/Common%20Active%20Directory%20Bind%20Errors

表明: 數據52E =返回時的用戶名是有效的,但密碼/證書是無效的。

數據773 =輸入的密碼必須登錄LDAP的pwdLastSet之前改變:0值表示管理員,要求更改密碼 - MUST_CHANGE_PASSWD

-Jim

+0

謝謝您的回答(+1)! 我們是否有任何RFC的子代碼? 或它是供應商相關? http://www.novell.com/coolsolutions/tip/18470.html 此外,如何以更傳統的方式獲得子代碼? 我不想分析異常消息。 – Michael

+0

這是所有供應商特定的。 AFIK,你將不得不解析,如果你想要的信息。如果您找到更好的方法,請告知。 – jwilleke

相關問題