현재 위치: > 최신 기사 목록> PHP를 사용하여 LDAP 프로토콜을위한 디렉토리 서비스 커뮤니케이션 자습서를 구현하는 방법

PHP를 사용하여 LDAP 프로토콜을위한 디렉토리 서비스 커뮤니케이션 자습서를 구현하는 방법

M66 2025-06-11

PHP를 사용하여 LDAP 프로토콜을위한 디렉토리 서비스 통신을 구현하는 방법

디렉토리 서비스는 다양한 유형의 정보를 저장하고 검색하는 데 사용되는 시스템을 말합니다. 공통 디렉토리 서비스 프로토콜에는 LDAP (Lightweight Directory Access Protocol)가 포함됩니다. LDAP 프로토콜은 일반적으로 사용자 인증 및 승인, 이메일 주소록, 조직 구조 및 직원 정보와 같은 기능을 구현하는 데 사용됩니다. 이 기사는 PHP 언어를 사용하여 LDAP 프로토콜을 통해 디렉토리 서비스와 통신하는 방법을 소개하고 해당 코드 예제를 제공합니다.

1. LDAP 확장을 설치하십시오

PHP를 사용하여 LDAP 서버와 통신하려면 LDAP 확장자를 설치해야합니다. Linux 시스템에서는 패키지 관리자를 통해 직접 설치할 수 있습니다.

 sudo apt-get 설치 php-ldap

Windows Systems에서는 php.ini 파일에서 LDAP 확장자의로드 라인을 무너 뜨릴 수 있습니다 (이전 세미콜론 제거).

 ; Extension = ldap

확장자를 설치 한 후 웹 서버를 다시 시작하여 적용하십시오.

2. LDAP 서버에 연결하십시오

먼저 LDAP_CONNECT () 함수를 사용하여 대상 LDAP 서버에 연결해야합니다. 이 함수는 후속 작업에 대해 LDAP 연결 객체를 반환합니다. 샘플 코드는 다음과 같습니다.

$ ldaphost = 'ldap.example.com';
$ ldapport = 389;
$ ldapconn = ldap_connect ($ ldaphost, $ ldapport);
    

실제 응용 프로그램에서는 $ ldaphost와 $ ldapport를 실제 LDAP 서버 주소 및 포트로 변경해야합니다.

3. LDAP 서버에 바인드

연결이 성공하면 LDAP_BIND () 함수를 사용하여 LDAP 서버에 바인딩해야합니다. 이는 클라이언트가 인증을 통과했으며 후속 작업을 수행 할 수있는 권한이 있음을 의미합니다. 선택할 수있는 여러 바인딩 방법이 있습니다.

익명 바인딩

익명 바인딩을 사용하여 LDAP 서버에 연결할 수 있습니다.

 ldap_bind ($ ldapconn);

사용자 이름 및 비밀번호 바인딩

사용자 이름과 비밀번호를 사용하여 LDAP 서버에 연결하십시오.

$ ldapuser = 'username';
$ ldappass = '비밀번호';
ldap_bind ($ ldapconn, $ ldapuser, $ ldappass);
    

4. 검색 디렉토리 서비스

LDAP 서버에 연결하고 바인딩 한 후 LDAP_Search () 함수를 사용하여 디렉토리 서비스의 항목을 검색 할 수 있습니다. 검색 작업에는 검색 및 검색 기준의 기본 노드 (기본 DN)를 지정해야합니다. 샘플 코드는 다음과 같습니다.

$ searchbasedn = 'ou = people, dc = example, dc = com';
$ SearchFilter = '(CN = John Doe)';
$ searchResult = ldap_search ($ ldapconn, $ searchBasedn, $ searchFilter);
    

실제 응용 프로그램에서는 $ SearchBasedn 및 $ SearchFilter를 적절한 값으로 변경해야합니다.

검색 결과는 LDAP_GET_ENTRIES () 함수를 사용하여 읽기 가능한 배열로 변환 해야하는 LDAP 검색 결과 객체입니다. 샘플 코드는 다음과 같습니다.

$ searchEntries = ldap_get_entries ($ ldapconn, $ searchResult);
    

5. 디렉토리 서비스 데이터를 얻습니다

디렉토리 서비스 데이터를 검색 한 후 필요에 따라 해당 필드 값을 얻을 수 있습니다. 일반적으로 ldap_get_values ​​() 함수를 사용하여 특정 필드의 값을 얻을 수 있습니다. 예제 코드는 다음과 같습니다.

$ name = ldap_get_values ​​($ ldapconn, $ searchEntries [0], 'displayName');
    

$ SearchEntries [0]을 실제 검색 결과 항목 색인으로 변경하고 'DisplayName'을 가져와야 할 필드 이름으로 변경해야합니다.

6. LDAP 연결을 닫습니다

모든 작업이 완료되면 LDAP 서버에 대한 연결을 닫아야합니다. LDAP_CLOSE () 함수를 사용하여 연결을 닫으십시오. 예제 코드는 다음과 같습니다.

 ldap_close ($ ldapconn);

요약

이 기사에서는 PHP를 사용하여 LDAP 프로토콜을 기반으로 디렉토리 서비스 통신을 구현하는 방법에 대해 설명합니다. LDAP_CONNECT () 함수를 통해 대상 LDAP 서버를 연결하고 바인딩하고 LDAP_SEARCH () 함수로 디렉토리 서비스를 검색하고 LDAP_GET_ENTRIES () 함수로 검색 결과를 얻고 LDAP_GET_VALUUES () 함수를 사용하여 필드 값을 얻습니다. 마지막으로 LDAP_CLOSE () 함수를 사용하여 연결을 닫으십시오. 이 기사의 샘플 코드가 독자가 PHP를 사용하여 LDAP 디렉토리 서비스를 운영하는 방법을 이해하는 데 도움이되기를 바랍니다.