IT/PROGRAMING

[JAVA] LDAP, AD (Active Directory) 연결 가이드!

까망수염 2020. 10. 30. 12:48
728x90

1
주제

 

JAVA에서 LDAP 연결 및 확인하는 방법은?

 


 

        String ntUserId = "black-whisker";
        String ntPasswd = "password1234";
        String searchBase = "ou=SAMPLE,dc=black-whisker,dc=tistory,dc=com"; // 검색대상 tree

        Hashtable env = new Hashtable();
        env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
        env.put(Context.PROVIDER_URL, "ldap://HOST:389");
        env.put(Context.SECURITY_AUTHENTICATION, "simple");
        env.put(Context.SECURITY_PRINCIPAL, ntUserId);
        env.put(Context.SECURITY_CREDENTIALS, ntPasswd);

        LdapContext ctx = new InitialLdapContext(env, null);
        SearchControls sc = new SearchControls();
        sc.setSearchScope(SearchControls.SUBTREE_SCOPE);
        sc.setReturningAttributes(new String[] { "cn", "name" });
        NamingEnumeration results = ctx.search(searchBase, "sAMAccountName=" + ntUserId, sc);

        while (results.hasMoreElements())
        {
            SearchResult sr = (SearchResult) results.next();
            Attributes attrs = sr.getAttributes();
            System.out.println("attributes: " + attrs);
        }

 

프로젝트를 진행하다보면 AD, LDAP에 연결해서 작업해야 하는 경우들이 있다.

위 소스는 java 에서 Ldap에 연결할 수 있도록 구현된 소스이다.

LDAP과 AD의 구성이 어떻게 되어있는지는 대상마다 다르지만 전체적인 큰 틀은 유사하다.

제일 기본인 연결하는 소스로 테스트 시 빠르게 활용할 수 있다.

Active Directory 또한 LDAP과 그 틀은 같기 때문에 해당 소스로 테스트 가능했다.

소스에서 신경 쓸꺼는 HOST 정보와 searceBase 정도?

389 포트를 사용한다는 것과 원하는 정보의 DN 정보를 확실히 입력을 해야지 데이터 조회가 가능하다.

자세한 내용은 역시 위키나 더 세세한 부분을 검색해서 찾아보면 잘 나온다. (위키 짱!)

링크에 영문링크를 거는 이유는 내용면에서 영문이 정보가 더 많기 때문이다. (꼭 모두가 그런 건 아니다...)

연결 시 오류 부분도 있으니 한번씩 확인해 봐야겠다.


▼▽▼▽ 링크 ▼▽▼▽

https://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol

 

Lightweight Directory Access Protocol - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Computer network protocol The Lightweight Directory Access Protocol (LDAP ) is an open, vendor-neutral, industry standard application protocol for accessing and maintaining distributed

en.wikipedia.org

https://en.wikipedia.org/wiki/Active_Directory

 

Active Directory - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Directory service created by Microsoft for Windows domain networks Active Directory (AD) is a directory service developed by Microsoft for Windows domain networks. It is included in mo

en.wikipedia.org


- 오늘의 한 줄 -

AD와 LDAP 은 거기서 거기다ㅋㅋ


공감 구독은 저에게 크나큰 힘이 됩니다♡

함께 보면 좋은 글
ADExplorer 사용 가이드 예정
728x90