繁体   English   中英

WSO2 Identity Server的外部读写LDAP模式下更新用户密码方法中断

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM