В Nodejs как сбросить пароль активной директории, не зная текущего пароля?
В настоящее время я использую 2 библиотеки ниже.
https://www.npmjs.com/package/activedirectory
http://ldapjs.org/index.html
У меня есть код ниже, который отлично работает, если я знаю текущий пароль. Но я также хочу сбросить пароль, если я не знаю текущий пароль.
function modifyPassword() {
return new Promise((resolve, reject) => {
try {
//ldapClient.bind(userDN, oldPassword, err => {
ldapClient.bind(service_acc_user, service_acc_pwd, err => {
if (err) {
reject(err);
}
ldapClient.modify(userDN, [
new ldap.Change({
operation: 'delete',
modification: {
unicodePwd: encodePassword(oldPassword)
}
}),
new ldap.Change({
operation: 'add',
modification: {
unicodePwd: encodePassword(newPassword)
}
})
], (error) => {
if (error) {
reject(error);
} else {
resolve('Successfully password modified.');
}
});
})
} catch (error) {
console.error(error);
reject(error);
}
})
}
Я попытался использовать приведенный выше код, передав фиктивный текущий пароль, но получил следующую ошибку.
'00000056: AtrErr: DSID-03190F80, #1:\n\t0: 00000056: DSID-03190F80, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att 9005a (unicodePwd)\n\u0000'