簡體   English   中英

[LDAP:錯誤代碼 32 - 0000208D:NameErr:DSID-03100241,問題 2001 (NO_OBJECT),數據 0,最佳匹配:

[英][LDAP: error code 32 - 0000208D: NameErr: DSID-03100241, problem 2001 (NO_OBJECT), data 0, best match of:

我正在嘗試使用 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();
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM