【发布时间】: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