在更改密码的扩展操作中出错 - [LDAP:错误代码 2 - 不支持的扩展操作];剩余名称''

Getting error in extended operation for change password - [LDAP: error code 2 - unsupported extended operation]; remaining name ''

我想使用扩展操作重置 Sun 一个 LDAP(或任何其他 LDAP)中任何用户的密码。同样,我做了以下工作:

我写了两个类如下:

实现 ExtendedRequest 的 PasswordExtendedRequest AND

实现 ExtendedResponse 的 PasswordExtendedResponse

我在 PasswordExtendedRequest

中使用 OID“1.3.6.1.4.1.4203.1.11.1”

扩展操作代码如下

ExtendedRequest er = new PasswordExtendedRequest(<userName>,<password>);
ExtendedResponse extRes = (ExtendedResponse)ctx.extendedOperation(er);  

但是执行后出现以下错误,getResponseControls() 也返回 NULL。 javax.naming.CommunicationException: [LDAP: 错误代码 2 - 不支持的扩展操作];剩余姓名 ''

从错误看来,我正在使用的 LDAP 不支持此扩展操作。我应该如何使用 LDAP 来支持此重置密码扩展操作?

让我知道我做错了什么或遗漏了什么。

您正在使用的 Sun one LDAP 服务器实现似乎不支持“1.3.6.1.4.1.4203.1.11.1”扩展名。要实现此扩展,需要 LDAP 服务器管理员来实现它。 (如果 Sun One LDAP 服务器甚至可以支持它)

扩展是 LDAP 之外的扩展,可能在任何给定的 LDAP 服务器上可用,也可能不可用。

您应该能够通过查询 rootDSE 并检查 OID 是否存在于 supportedExtension 属性中来确定对扩展的支持。 -吉姆