繁体   English   中英

Java LDAP通过使用CN获得组DN

[英]Java LDAP get Group DN by using CN

我想通过使用CN获得组DN。 为此,我使用下面的代码。

public static String getGroupDNByCN(DirContext ctx, String cn) {
    String groupDN = "";
    String searchFilter = "(&(objectClass=group)(cn=groupCN))";
    try {
        SearchControls searchControls = new SearchControls();
        searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE);
        NamingEnumeration<SearchResult> resultsGrp = ctx.search("ou=groups,o=data", searchFilter, searchControls);
        while (resultsGrp.hasMoreElements()) {
            SearchResult result = (SearchResult) resultsGrp.next();
            Attributes attrs = result.getAttributes();
            System.out.println("attrs : " + attrs);
            groupDN = attrs.get("distinguishedName").get().toString();
            resultsGrp.nextElement();
        }
    } catch (Exception e) {
        System.out.println("Exception : " + e);
    }

    return groupDN;
}

当我运行此命令时,我在sysout获取了attrs中的以下值

{owner=owner: cn=admin,ou=sa,o=system, equivalenttome=equivalentToMe: cn=ksuchostawski,ou=users,o=data, cn=lsazonova,ou=users,o=data, cn=lsazonovatest,ou=users,o=data, cn=mnewuser,ou=users,o=data, cn=mwu,ou=users,o=data, cn=nuser,ou=users,o=data, cn=rdevenyi,ou=users,o=data, cn=sbudan,ou=users,o=data, cn=sbudan1,ou=users,o=data, cn=sbudan2,ou=users,o=data, cn=sbudan21,ou=users,o=data, cn=staylor,ou=users,o=data, cn=stest,ou=users,o=data, cn=suser,ou=users,o=data, cn=cgrugina,ou=users,o=data, cn=crugina,ou=users,o=data, cn=ddev1,ou=users,o=data, cn=dpro1,ou=users,o=data, cn=dpro2,ou=users,o=data, cn=dpro21,ou=users,o=data, cn=dpro4,ou=users,o=data, cn=dpro5,ou=users,o=data, objectclass=objectClass: groupOfNames, Top, acl=ACL: 2#entry#[Root]#member, cn=cn: pcvc, member=member: cn=ksuchostawski,ou=users,o=data, cn=lsazonova,ou=users,o=data, cn=lsazonovatest,ou=users,o=data, cn=mnewuser,ou=users,o=data, cn=mwu,ou=users,o=data, cn=nuser,ou=users,o=data, cn=rdevenyi,ou=users,o=data, cn=sbudan,ou=users,o=data, cn=sbudan1,ou=users,o=data, cn=sbudan2,ou=users,o=data, cn=sbudan21,ou=users,o=data, cn=staylor,ou=users,o=data, cn=stest,ou=users,o=data, cn=suser,ou=users,o=data, cn=cgrugina,ou=users,o=data, cn=crugina,ou=users,o=data, cn=ddev1,ou=users,o=data, cn=dpro1,ou=users,o=data, cn=dpro2,ou=users,o=data, cn=dpro21,ou=users,o=data, cn=dpro4,ou=users,o=data, cn=dpro5,ou=users,o=data}

在上述Attributes ,没有distinguishedName属性。 请帮助我如何使用CN获得组DN。

我正在使用JavaNetIQ eDirectory 8.8 SP8 v20810.20

您需要对JNDI使用getNameInNamespace()方法。

像这样:

groupDN = result.getNameInNamespace();

-Jim

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM