[英]Update user password methods breaks in external Read Write LDAP mode of 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
日志中没有其他异常:((有人可以帮助我解决此问题吗?
发现了问题! LDAP不允许将密码设置回原因历史记录中使用的值。 需要禁用它。 这就是管理服务失败的原因。 您可以在ApacheDS中使用ads-pwdInHistory属性来执行此操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.