【问题标题】:Not able to reset AD password from Java using LDAP无法使用 LDAP 从 Java 重置 AD 密码
【发布时间】:2018-06-03 23:28:20
【问题描述】:

我正在尝试使用 LDAP 从 java 重置用户密码。代码如下:

System.out.println("Inside Password Reset");
//String Password = Long.toHexString(Double.doubleToLongBits(Math.random()));
String Password = "Password5";
ModificationItem[] mods = new ModificationItem[1];
Attribute mod0 = new BasicAttribute("userpassword", Password);
mods[0] = new ModificationItem(DirContext.REPLACE_ATTRIBUTE, mod0);
System.out.println("Updated Password: " + Password);
dctx.modifyAttributes("cn=xxx,ou=xxx,dc=xxx,dc=xxx",mods);
System.out.println("Attributes to be modified are :" + mods);

没有给出任何错误,但是当我尝试使用新密码登录该用户时,它不起作用。

【问题讨论】:

  • 您可能需要在单独的ModificationItems 中提供旧密码和新密码,一个要删除,另一个要添加。奇怪的是你没有收到错误。
  • 给我 LDAP:错误代码 53 - 00002077:SvcErr:DSID-03190E49,问题 5003 (WILL_NOT_PERFORM) 错误。我的 AD 不是 ssl
  • 这是由于您在 LDAP 连接中未使用 SSL 而 AD 强制执行 SSL 连接。
  • @RohanKadu 有没有办法在没有 SSL 连接的情况下做到这一点?

标签: java ldap change-password


【解决方案1】:

我启用了与我的 AD 的 SSL 连接并且能够重置密码。

【讨论】:

    猜你喜欢
    • 2022-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-10
    • 1970-01-01
    • 2016-09-08
    • 2019-07-14
    • 1970-01-01
    相关资源
    最近更新 更多