UnboundID LDAP SDK:获取用户的所有组

Neo*_*Neo 5 unboundid-ldap-sdk

使用UnboundID LDAP sdk,如何获取特定用户所属的所有LDAP组?(我真的很感激一些示例代码)。

Mic*_*ael 1

下面的函数仅适用于 Active Directory,因为它生成成员身份属性 memberOf。如果我能找到通用 LDAP 的方法,我会添加它。

    Entry   userEntry = ldapConnection.getEntry(userDN);

    List<Entry> entryList = new ArrayList();
    String[] memberValues = userEntry.getAttributeValues("memberOf");
    if (memberValues != null) {
        DNEntrySource entrySource = new DNEntrySource(ldapConnection, memberValues);
        while (true) {
            Entry memberEntry = entrySource.nextEntry();
            if (memberEntry == null) {
                break;
            }

            entryList.add(memberEntry);
        }
    }

    return entryList;
Run Code Online (Sandbox Code Playgroud)