繁体   English   中英

如何在Springboot中从Active Directory LDAP服务器获取所有组用户?

[英]How to get All Group Users from Active Directory LDAP Server in Springboot?

我正在尝试从Active Directory LDAP服务器检索所有组和相应的用户。

谁能帮忙提供示例代码?

package test;

import java.util.List;

import com.unboundid.ldap.sdk.LDAPConnection;
import com.unboundid.ldap.sdk.LDAPException;
import com.unboundid.ldap.sdk.LDAPSearchException;
import com.unboundid.ldap.sdk.SearchRequest;
import com.unboundid.ldap.sdk.SearchResult;
import com.unboundid.ldap.sdk.SearchResultEntry;
import com.unboundid.ldap.sdk.SearchScope;

public class Test2 {


    public static void main(String[] args) {

        try {
            List<SearchResultEntry> usersFromLdap = getUsersFromLdap();
            System.out.println(usersFromLdap);
        } catch (LDAPException e) {
            //TODO handle exception
        }

    }

    public static List<SearchResultEntry> getUsersFromLdap() throws LDAPException, LDAPSearchException{
        String searchBaseDN = "dc=your-domain,dc=com"; //your-domain.com
        String searchFilter = "(&(objectClass=user)(sn=*))"; //see e.g. https://confluence.atlassian.com/kb/how-to-write-ldap-search-filters-792496933.html


        LDAPConnection connection = new LDAPConnection("host.your-domain.com", 389);
        try {
            connection.bind("yourLdapUser", "YourLdapPassword");
            SearchRequest request = new SearchRequest(searchBaseDN, SearchScope.SUB, searchFilter);
            request.setSizeLimit(0);
            SearchResult searchResult = connection.search(request);

            List<SearchResultEntry> result = searchResult.getSearchEntries();
            return result;
        } finally {
            if (connection != null) {
                connection.close();
            }
        }
    }

}

暂无
暂无

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

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