Обновление методов пароля пользователя прерывается во внешнем режиме чтения-записи 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.

Другие вопросы по тегам