我想使用扩展操作重置Sun one LDAP(或任何其他LDAP)中任何用户的密码。为此,我做了以下事情:
我写了两个课程如下:
实现ExtendedRequest AND的PasswordExtendedRequest
实施ExtendedResponse的PasswordExtendedResponse
我正在使用OID" 1.3.6.1.4.1.4203.1.11.1"在 PasswordExtendedRequest
中以下是扩展操作的代码
ExtendedRequest er = new PasswordExtendedRequest(<userName>,<password>);
ExtendedResponse extRes = (ExtendedResponse)ctx.extendedOperation(er);
但是我在执行后得到以下错误,并且getResponseControls()也返回NULL。 javax.naming.CommunicationException:[LDAP:错误代码2 - 不支持的扩展操作];剩余名称&#39;
从错误看起来我正在使用的LDAP,不支持此扩展操作。如何使用LDAP来支持此重置密码扩展操作?
让我知道我做错了什么或遗失任何东西。
答案 0 :(得分:1)
您正在使用的Sun one LDAP服务器实现似乎不支持“1.3.6.1.4.1.4203.1.11.1”扩展。要实现此扩展,需要LDAP服务器管理员来实现它。 (如果Sun One LDAP服务器甚至可以支持它)
扩展程序是LDAP之外的扩展程序,可能在任何给定的LDAP服务器上可用,也可能不可用。
您应该能够通过查询rootDSE并检查supportExtension属性中是否存在OID来识别对扩展的支持。 -Jim