0
我試圖提取某個密碼被拒絕的原因,使用UnboundID LDAPSDK並連接到Red Hat Directory Server。 但是,執行下面的請求後:通過UnboundID獲取來自Red Hat Directory Server的密碼策略違規的原因LDAPSDK
PasswordModifyExtendedRequest passwordModifyExtendedRequest = new PasswordModifyExtendedRequest(userDN, currPassword, newPassword, new Control[]{new Control("1.3.6.1.4.1.42.2.27.8.5.1")});
passwordModifyExtendedRequest.setResponseTimeoutMillis(1000);
LDAPConnection ldapConnection = ldapManager.getLdapConnection();
PasswordModifyExtendedResult extendedResult = (PasswordModifyExtendedResult) ldapConnection.processExtendedOperation(passwordModifyExtendedRequest);
System.out.println(extendedResult);
我得到這個作爲響應(這是不足夠的描述):
PasswordModifyExtendedResult(resultCode=19 (constraint violation), messageID=2, diagnosticMessage='Failed to update password', responseControls={PasswordPolicyResponseControl(errorType='insufficient password quality', isCritical=false)})
然而,當我經由Apache Directory Studio改變密碼,它提供了完全細錯誤消息:
[LDAP: error code 19 - invalid password syntax - password must be at least 8 characters long]
只要例如,它返回上ApacheDS使用時以下的(這是很好的爲好):
[LDAP: error code 19 - CONSTRAINT_VIOLATION: failed for MessageType : MODIFY_REQUEST Message ID : 15 Modify Request Object : 'cn=josef,ou=users,o=test' Modification[0] Operation : replace Modification userPassword: 0x70 0x65 0x70 0x61 [email protected]6d9db6: Password should have a minimum of 5 characters]
問題是,有沒有辦法讓Apache目錄工作室設法得到這些信息?我嘗試過搜索codebase,但無法找到它。
換句話說,我需要得到「密碼必須至少8個字符長」以某種方式響應。