Изменить пароль пользователя в 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') 

Как изменить пароль пользователя Зная старый пароль?


person anquegi    schedule 07.09.2015    source источник


Ответы (1)


Вы должны войти в систему либо как пользователь с достаточными привилегиями для выполнения операции, либо, что чаще, как сам пользователь, используя, конечно, старый пароль, что является дополнительной проверкой работоспособности. Или сервер LDAP неправильно настроен.

person user207421    schedule 07.09.2015
comment
Поэтому я могу изменить пароль, если я войду в систему как пользователь, или у меня будет больше привилегий. Я протестировал второй, и он работает. Но как я могу выполнить первый, если я использую соединение пула с правами соединения, формирующими другие, Привязываются ли пользователи? - person anquegi; 07.09.2015
comment
Пользователь всегда должен иметь возможность изменить свой пароль, если только сервер LDAP не настроен неправильно. Я не понимаю вопроса во втором предложении. - person user207421; 07.09.2015
comment
Хорошо, спасибо, я сказал, что у меня есть учетная запись для LDAP, которая принадлежит ou=systemusers, но не администратору, но, похоже, у нее недостаточно прав для смены паролей, у других есть. - person anquegi; 07.09.2015