我已尝试使用此代码更改LDap中的用户密码但无法正常工作。
public void changePassword(String newPassword, String commonName) {
String dn = generateDn(commonName, percorso);
ModificationItem item = new ModificationItem(DirContext.REPLACE_ATTRIBUTE, new BasicAttribute("userPassword", "{SHA}" + this.encrypt(newPassword)));
ldapTemplate.modifyAttributes(dn, new ModificationItem[]{item});
}
当我运行程序时,此行会生成此错误
ldapTemplate.modifyAttributes(dn,new ModificationItem [] {item});
org.springframework.ldap.InvalidAttributeValueException: [LDAP: error code 19 - CONSTRAINT_VIOLATION: failed for MessageType : MODIFY_REQUEST
Message ID : 2
Modify Request
Object : 'cn=Massimo Mannini, ou=group,dc=Society'
Modification[0]
Operation : replace
Modification
userPassword: 0x7B 0x53 0x48 0x41 0x7D 0x4B 0x44 0x31 0x48 0x71 0x54 0x4F 0x4F 0x30 0x52 0x41 ...org.apache.directory.api.ldap.model.message.ModifyRequestImpl@d10dd22 ManageDsaITImpl Control
Type OID : '2.16.840.1.113730.3.4.2'
Criticality : 'false'
'
: invalid reuse of password present in password history:
org.apache.directory.api.ldap.model.exception.LdapOperationException: invalid reuse of password present in password history