我们有一项身份验证服务,允许管理员将各种目录服务附加到我们的云服务。我们支持一系列不同的目录服务(Active Directory,OpenLDAP,GSuit等),并且我们提供对称为" IBM Security Directory Server 6.4"
的新LDAP服务的支持。因此,对于我们过去支持的以前的LDAP服务,我们允许管理员为用户指定一个属性,告诉我们他们的密码是否已过期,并且需要重置(shadowExpire)。如果密码已过期,我们可以提示用户输入新密码,然后使用非常普遍支持的OID发出扩展请求" 1.3.6.1.4.1.4203.1.11.1" (这是标准密码修改协议ID)。但是,与其他所有LDAP服务不同,IBM-SDS不支持此协议,这意味着我们需要一些使用客户端请求直接修改用户属性的方法。
请记住,我们已授权在我们的服务中注册管理员凭据,因此我们拥有超级管理员权限可以执行任何操作。这里的问题是我们如何在IBM-SDS 6.4服务器上通过客户端请求直接修改用户属性(这不是像IBM的所有文档提供的那样使用ldapmodify)?
答案 0 :(得分:0)
解决方案是使用此处How to change passwords using System.DirectoryServices.Protocols概述的System.DirectoryServices.Protocols并直接更改userPassword属性。