[LDAP:错误代码32-0000208D:名称错误:DSID-03100241,问题2001(NO_OBJECT),数



我正试图使用以下代码使用Spring Boot将用户添加到Active directory组中。

public boolean addMemberToGroup(String groupName, Person p) {
boolean status = false;
Name groupDn = buildGroupDn(groupName);
Name personDn = buildPersonDn(p);
try {
DirContextOperations ctx = ldapTemplate.lookupContext(groupDn);
ctx.addAttributeValue(UNIQUE_MEMBER, personDn);
ldapTemplate.modifyAttributes(ctx);

} catch (Exception e) {
logException
}
return status;
}
private Name buildGroupDn(String groupName) {
return LdapNameBuilder.newInstance(baseLdapPath)
.add("OU", "ghtc")
.add("OU", "IT")
.add("OU", "Groups")           

.add("CN", groupName)
.build();
}

baseLdapPath = DC=emea,DC=testdir,DC=net,并将其添加到application.properties文件中。

但当ldapTemplate.lookupContext(groupDn);执行时,出现以下异常:

嵌套异常为javax.naming.NameNotFoundException:[LDAP:错误代码32-0000208D:NameErr:DSID-03100241,问题2001(NO_OBJECT(,数据0,最佳匹配:'DC=emea,DC=testdir,DC=net'剩余名称'CN=GroupAMC,OU=Groups,OU=IT,OU=ghtc,DC=emea,DC=testdir,DC=net'*

我已经验证了组的可分辨名称是CN=GroupAMC,OU=Groups,OU=IT,OU=ghtc,DC=emea,DC=testdir,DC=net

我在这里错过了什么?

我能够使用以下链接解决错误将用户添加到Ldap 时Ldap错误代码32

生成groupName时出现baseDn问题。删除baseLdapPath修复了问题

private Name buildGroupDn(String groupName) {
return LdapNameBuilder.newInstance()
.add("OU", "ghtc")
.add("OU", "IT")
.add("OU", "Groups")           

.add("CN", groupName)
.build();
}

最新更新