我想使用扩展操作重置Sun one LDAP(或任何其他LDAP)中任何用户的密码。同样,我做了以下工作:
我编写了两个类,如下所示:
密码扩展请求,实现扩展请求和
实现扩展响应的密码扩展响应
我在密码扩展请求中使用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.nameing.CommunicationException: [LDAP: 错误代码 2 - 不支持的扩展操作];剩余名称 ''
从错误来看,我正在使用的LDAP似乎不支持此扩展操作。我应该如何使用 LDAP 来支持此重置密码扩展操作?
让我知道我做错了什么或错过了什么。
您正在使用的 Sun one LDAP 服务器实现似乎不支持"1.3.6.1.4.1.1.4203.1.11.1"扩展名。要实现此扩展,需要 LDAP 服务器管理员来实现它。(如果Sun One LDAP服务器甚至可以支持它)
扩展是 LDAP 之外的扩展,在任何给定的 LDAP 服务器上都可能可用,也可能不可用。
您应该能够通过查询 rootDSE 并检查 OID 是否存在于支持的扩展属性中来识别对扩展的支持。-吉姆