【问题标题】:Update unicodepwd in ActiveDirectory更新 ActiveDirectory 中的 unicodepwd
【发布时间】:2015-04-14 10:01:42
【问题描述】:

我正在尝试更新 WindowsAD 中的 unicodePwd 属性。我正在使用 ldaps://server:636 来创建 InitialContext。连接很好,我可以搜索记录。我还可以更新 givenName 属性,所以我认为服务器没有任何通信问题。

我正在使用我的密码进行以下编码: javax.xml.bind.DatatypeConverter.printBase64Binary(('"' + "T3stPassw0rd!" + '"').getBytes("UTF-16LE"));

当我尝试更新 unicodePwd 时,出现以下错误 javax.naming.OperationNotSupportedException:[LDAP:错误代码 53 - 0000001F:SvcErr:DSID-031A120C,问题 5003 (WILL_NOT_PERFORM),数据 0 ];

在查找类似问题时,我了解到如果连接不是 ldaps(我的是 ldaps,能够搜索和更新另一个属性)或编码不正确,则可能会发生这种情况。我正在使用推荐的编码,但似乎无法让我的代码正常工作。

感谢您对此的任何帮助。

谢谢!

【问题讨论】:

  • 你有这个权限吗?
  • 是的,我有。我实际上可以为同一个用户更新另一个字段。

标签: java active-directory ldap


【解决方案1】:

我们有一个已知可行的示例:

Example - Active Directory Change Password JNDI

【讨论】:

  • 谢谢,我已经用这个例子工作了。但是我不明白为什么我自己编码时它不起作用。当我使用 ldif 文件进行 ldap 修改时,此密码有效,但不是来自 API。
  • “明文”密码必须用双引号括起来。那么整个字符串(带有双引号)必须是 UTF-16。ldapwiki.com/wiki/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-22
  • 2021-08-17
相关资源
最近更新 更多