使用 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 中授予用户权限来将这些权限委派给该用户。
在 ADUC(Active Directory 用户和计算机)中,右键单击包含您希望其他用户能够修改其属性的所有用户的 OU(组织单位)。选择“委托控制”。
添加您想要授予权限的用户。接下来。
选择“创建要委派的自定义任务”。接下来。
在列表中选择“仅文件夹中的以下对象”,然后选择“用户对象”。接下来。
取消选中常规。只勾选 属性-specific.
在权限列表下,根据您的要求检查条目,例如
写部门
写电话号码
写街道地址
- 单击下一步并完成。
我正在尝试更改 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 中授予用户权限来将这些权限委派给该用户。
在 ADUC(Active Directory 用户和计算机)中,右键单击包含您希望其他用户能够修改其属性的所有用户的 OU(组织单位)。选择“委托控制”。
添加您想要授予权限的用户。接下来。
选择“创建要委派的自定义任务”。接下来。
在列表中选择“仅文件夹中的以下对象”,然后选择“用户对象”。接下来。
取消选中常规。只勾选 属性-specific.
在权限列表下,根据您的要求检查条目,例如
写部门
写电话号码
写街道地址
- 单击下一步并完成。