Обновление методов пароля пользователя прерывается во внешнем режиме чтения-записи LDAP WSO2 Identity Server
Я использую внешний ApacheDS LDAP с WSO2 IS. Я могу обновить пароль пользователя через Консоль управления очень хорошо. Работает нормально. Тогда я попытался использовать сервис UserAdmin, чтобы сделать это. В этом я использовал метод changePasswordByUser. Я использовал сервис, используя SOAPUI. Я могу отправить первый запрос на обновление нормально. Я посмотрел на LDAP и обновление прошло успешно. Я могу войти в Консоль управления, используя обновленный пароль.
Когда я попытался обновить его во второй раз, используя обновленный пароль, он отправляет этот ответ,
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Server</faultcode>
<faultstring>Can not access the directory service</faultstring>
<detail>
<ns:UserAdminUserAdminException xmlns:ns="http://org.apache.axis2/xsd">
<UserAdminException xsi:type="ax2627:UserAdminException" xmlns="http://org.apache.axis2/xsd"
xmlns:ax2627="http://common.mgt.user.carbon.wso2.org/xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ax2627:message>Can not access the directory service</ax2627:message>
</UserAdminException>
</ns:UserAdminUserAdminException>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
Журналы аудита говорят,
[2014-05-29 16:32:53,078] INFO - 'demoTest@carbon.super [-1234]' logged in at [2014-05-29 16:32:53,077+0000]
[2014-05-29 16:32:53,204] INFO - Initiator : demoTest@carbon.super | Action : Change Password by User | Target : demoTest@carbon.super | Data : { } | Result : Failed
Никаких других исключений в логах:(Может кто-нибудь помочь мне решить эту проблему?
1 ответ
Нашел проблему! LDAP не позволяет вернуть пароль к значениям, которые используются в истории причин. Нужно отключить это. Вот почему служба администратора не удалось. Для этого вы можете использовать свойство ads-pwdInHistory в ApacheDS.