Exception 检查旧ldap密码是否已过期

Exception 检查旧ldap密码是否已过期,exception,ldap,Exception,Ldap,我面临一些问题 在LDAP for admin中,我将用于测试的最大密码期限pwdMaxAge设置为6分钟。当用户在密码过期6分钟后尝试登录时,我显示要重新设置密码。然后用户使用新密码输入旧密码。我正在验证用户是否使用以下代码输入正确的旧密码 ldapConnection.bind(LDAPConnection.LDAP_V3, getDN(jurNm, username), new String(oldPassword).getBytes(),constrain

我面临一些问题

在LDAP for admin中,我将用于测试的最大密码期限pwdMaxAge设置为6分钟。当用户在密码过期6分钟后尝试登录时,我显示要重新设置密码。然后用户使用新密码输入旧密码。我正在验证用户是否使用以下代码输入正确的旧密码

ldapConnection.bind(LDAPConnection.LDAP_V3, getDN(jurNm, username),
                new String(oldPassword).getBytes(),constraints)
但它正在抛出例外

LDAPException:无效凭据49无效凭据 LDAPException:匹配的DN:


您能帮我一下吗?

您正在使用密码策略覆盖。要更改过期密码,您需要使用扩展密码更改操作,在该操作中,您提供旧密码和新密码,并且您必须以密码未过期的管理员用户身份执行此操作


此外,要获取密码到期警告、宽限期通知等,您需要使用密码策略请求控件,并检查通过成功绑定或异常发送的响应控件。

此处是密码已过期的管理员用户,当他尝试使用旧密码登录时,我将显示“重新设置密码”页面。那么你是说如果管理员用户密码过期,同一个管理员用户不能重新设置他的密码?管理员用户可能根本不应该有过期的密码。您当然不应该使用管理员用户进行测试,而是使用普通用户进行测试。对于管理员用户,您可能需要以rootDN身份执行代码。我们必须管理组1。超级管理员2。管理员,对于超级管理员,我们没有密码最大年龄,但是对于管理员,我们有密码最大年龄。对于密码过期的管理员,如果密码过期,可以重新设置密码。我的问题是,如何检查输入的旧过期密码是否存在于ldap中,或者是否使用上述新奇的.ldap?我已经第三次回答了这个问题。扩展密码更改操作和密码策略请求控制。