Изменить пароль пользователя в LDAP с помощью unboundid
Я пытаюсь изменить пароль пользователя в LDAP, используя приведенный ниже код, я не администратор LDAP, поэтому я устанавливаю соединение с пользователем, у которого ou=systemusers, он может создавать пользователей и добавлять пользователей в группу. Я знаю старый пароль для использования, которое сделает изменение
PasswordModifyExtendedRequest passwordModifyRequest =
new PasswordModifyExtendedRequest(
"uid=test.user,ou=People,dc=example,dc=com", // The user to update
(String) null, // The current password for the user.
(String) null); // The new password. null = server will generate
PasswordModifyExtendedResult passwordModifyResult;
try
{
passwordModifyResult = (PasswordModifyExtendedResult)
connection.processExtendedOperation(passwordModifyRequest);
// This doesn't necessarily mean that the operation was successful, since
// some kinds of extended operations return non-success results under
// normal conditions.
}
catch (LDAPException le)
{
// For an extended operation, this generally means that a problem was
// encountered while trying to send the request or read the result.
passwordModifyResult = new PasswordModifyExtendedResult(
new ExtendedResult(le));
}
LDAPTestUtils.assertResultCodeEquals(passwordModifyResult,
ResultCode.SUCCESS);
String serverGeneratedNewPassword =
passwordModifyResult.getGeneratedPassword();
но я всегда получаю этот результат.
PasswordModifyExtendedResult(resultCode=50 (insufficient access rights), messageID=4, diagnosticMessage='You do not have sufficient privileges to perform password reset operations')
Как я могу изменить пароль пользователя Зная старый пароль?
1 ответ
Решение
Вы должны войти в систему как пользователь с достаточными правами для выполнения операции, или, как правило, как пользователь, используя, конечно, старый пароль, что является дополнительной проверкой работоспособности. Или же сервер LDAP неправильно настроен.