상세 컨텐츠

본문 제목

JAVA LDAP 참고 사이트

카테고리 없음

by 동동주1123 2011. 10. 31. 17:32

본문

http://tylee82.tistory.com/162
 



#  프로세스 참고

출처: 
http://cubenuri.egloos.com/151549
LDAP Standard API

LDAP Seminar <2>for Initech 
권용철(godslord@sparcs.kaist.ac.kr)1998 

1. LDAP Standard API 

LDAP 자체는 Client/Server 구조를 기본으로 한다. 
그리고, LDAP를 이용한 Client Software를 제작하기 용이하도록 
University of Michigan의 LDAP 패키지에는 SLAPD, SLURPD와 함께 
Standard LDAP API가 제공된다. 이 외에도 Netscape사에서 역시 C용, 
JAVA용 LDAP SDK를 개발하요 무료로 배포하고 있다. 

먼저, 미시간 대학의 표준 API에 대해서 살펴 보도록 하겠다. 

1.1. Michigan Standard API 
Michigan Standard API는 미시간 대학에서 배포하는 LDAP패키지에 포함 
되어 있으며, LDAP v2 Spec을 완벽히 지원한다. 컴파일시 Header에러가 
난다면, ldap.h의 첫 부분 적당한 곳에 #include <lber.h>를 첨가하기 
바란다. 링크할 라이브러리들은 "ldap"와 "lber"이다. 

Michigan API를 사용해서 프로그램을 짜는 순서는 크게 4단계이다. 

* LDAP 서버와의 커넥션을 연다(한번에 여러개의 커넥션을 열 수 
있다.(ldap_open()) 
* LDAP 서버나, X.500 DSA에 Authentication을 한다. 
Standard API에서는 Kerberos, Simple Authentication을 지원한다. 
(ldap_bind()) 
* LDAP 서버에 Request를 보내고(ldap_search(),ldap_modify(), 
ldap_modrdn(),ldap_add(),ldap_delete()), 결과를 받는다. 결과는 
ldap_result2error(), ldap_first_entry(), ldap_next_entry()등의 
함수로 파싱이 가능하다. 
* 볼 일이 끝 났으면 커넥션을 닫는다.(ldap_unbind()) 

위에서 각각 설명한 절차에 따라 프로그램을 작성하면 되며, 각각의 함수들 
중 synchronous함수들은 함수의 이름 뒤에 "_s"의 접미사가 붙게된다. 
(Ex : ldap_search(), ldap_search_s()) 
Synchronous함수들은 Operation의 수행 결과를 나타내는 상수를 리턴한다. 
(Ex : LDAP_SUCCESS, or etc...) 
Asynchronous함수들은 각 Operation에 할당된 고유의 Msg ID를 리턴하게 
된다. 이 Msg ID를 이용해서, ldap_result()를 통해 해당 Operation의 수행 
결과를 알 수 있다. Asynchronous로 수행된 Operation은 ldap_abandon()을 
호출하여 서버측에 실행 취소를 요구할 수 있다. 

Standard API에서 호출하는 모든 함수들에는 LDAP 서버와의 커넥션 핸들이 
인자로 포함되고 있다. 버리지 말고 잘 쓰도록 하자...--;