使用 JAVA 修改 LDAP 中的用户属性

Modify user attributes in LDAP using JAVA

我正在尝试更改 LDAP 服务器中用户的属性,当我尝试更改 LDAP 中用户的任何属性时,我收到 NoPermissionException,但是如果用户是管理员,我可以 change/add属性。我的目标也是更改密码。

javax.naming.NoPermissionException: [LDAP: error code 50 - 00002098: SecErr: DSID-03150F93, problem 4003 (INSUFF_ACCESS_RIGHTS), data 0
]; remaining name 'CN=test,CN=Users,DC=myid,DC=com,DC=local'

我的代码

ModificationItem[] mods = new ModificationItem[2];
mods[0] = new ModificationItem(DirContext.REMOVE_ATTRIBUTE,
                            new BasicAttribute("department"));
mods[1] = new ModificationItem(DirContext.ADD_ATTRIBUTE,
                            new BasicAttribute("department", "New Department"));
                   
ldapCtx.modifyAttributes("CN=test,CN=Users,DC=myid,DC=com,DC=local", mods);

谢谢。

经过一番研究,我明白了。您可以通过在 Active Directory 中授予用户权限来将这些权限委派给该用户。

  1. 在 ADUC(Active Directory 用户和计算机)中,右键单击包含您希望其他用户能够修改其属性的所有用户的 OU(组织单位)。选择“委托控制”。

  2. 添加您想要授予权限的用户。接下来。

  3. 选择“创建要委派的自定义任务”。接下来。

  4. 在列表中选择“仅文件夹中的以下对象”,然后选择“用户对象”。接下来。

  5. 取消选中常规。只勾选 属性-specific.

  6. 在权限列表下,根据您的要求检查条目,例如

写部门

写电话号码

写街道地址

  1. 单击下一步并完成。