현재 위치: > 최신 기사 목록> PHP에서 사용자 인증에 연결하기 위해 LDAP를 사용하는 방법

PHP에서 사용자 인증에 연결하기 위해 LDAP를 사용하는 방법

gitbox 2025-06-12

1. LDAP 소개

LDAP (Lightweight Directory Access Protocol)는 분산 디렉토리 서비스에 액세스하고 관리하는 데 일반적으로 사용되는 프로토콜입니다. 엔터프라이즈 사용자 인증 및 인증 시스템에서 널리 사용됩니다. 이 기사는 PHP를 통해 LDAP 서버에 연결하고 사용자 인증을 수행하는 방법을 소개합니다.

2. LDAP 연결

2.1. LDAP 확장자를 설치하십시오

LDAP 작업에 PHP를 사용하기 전에 먼저 LDAP 확장이 설치되어 있는지 확인해야합니다. LDAP 확장은 php.ini 파일을 편집하고 다음 줄을 무책임하여 활성화 할 수 있습니다.

확장 = ldap
    

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

PHP의 LDAP_Connect 함수를 사용하여 LDAP 서버에 대한 연결을 설정하십시오. 다음 예는 LDAP 서버에 연결하는 방법을 보여줍니다.

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

이 예에서는 LDAP 서버 주소와 포트 번호를 지정하고 ldap_connect 함수를 사용하여 LDAP 연결을 만듭니다.

3. 사용자 인증

3.1. BIND LDAP 관리자 사용자

사용자 인증을 수행하기 전에 후속 작업에 대한 충분한 권한을 보장하기 위해 권한있는 사용자 (예 : LDAP 관리자)를 통해 바인딩해야합니다. 다음은 관리자 사용자를 바인딩하는 예입니다.

$ ldapadmin = 'cn = admin, dc = example, dc = com';
$ ldappass = 'adminPassword';
$ ldapbind = ldap_bind ($ ldapconn, $ ldapadmin, $ ldappass);
    

이 예에서는 LDAP_BIND 함수를 사용하여 관리자 자격 증명을 LDAP 연결에 바인딩합니다.

3.2. 사용자를 검색하십시오

바인딩이 성공한 후에는 LDAP_Search 기능을 통해 LDAP 디렉토리에서 특정 사용자를 찾을 수 있습니다. 다음 코드 예제는 지정된 사용자 이름을 가진 사용자를 검색하는 방법을 보여줍니다.

$ ldapbasedn = 'dc = example, dc = com';
$ searchFilter = '(uid = johndoe)';
$ SearchResult = ldap_search ($ ldapconn, $ ldapbasedn, $ searchFilter);
    

이 예제는 UID를 통해 특정 사용자를 필터링하고 검색하며 LDAP_SEARCH 기능은 일치하는 검색 결과를 반환합니다.

3.3. 사용자 인증을 확인하십시오

사용자 정보를 얻은 후 LDAP_GET_ENTRIES 기능을 통해 사용자의 세부 정보를 얻고 인증 정보를 확인할 수 있습니다. 다음은 관련 예입니다.

$ userInfo = ldap_get_entries ($ ldapconn, $ searchResult);
if ($ userInfo [ 'count'] == 1) {
    $ userdn = $ userInfo [0] [ 'dn'];
    $ userbind = ldap_bind ($ ldapconn, $ userdn, $ password);
    if ($ userbind) {
        Echo "인증이 성공적입니다!";
    } 또 다른 {
        에코 "인증 실패!";
    }
} 또 다른 {
    에코 "사용자는 존재하지 않습니다!";
}
    

위의 코드에서는 먼저 검색 결과를 확인하고 사용자가 존재하는지 확인한 다음 LDAP_BIND를 통해 암호를 확인합니다.

4. LDAP 연결을 닫습니다

LDAP 작업을 완료 한 후에는 리소스를 확보하기위한 연결을 닫는 것을 잊지 마십시오. ldap_close 함수를 사용하여 연결을 닫을 수 있습니다.

ldap_close ($ ldapconn);
    

이 예에서는 ldap_close 함수를 사용하여 LDAP 서버에 대한 연결을 닫습니다.

5. 요약

이 기사를 통해 PHP를 사용하여 LDAP 서버에 연결하고 사용자를 인증하는 방법을 이해해야합니다. 이 기사는 LDAP 설치에서 사용자 인증에 이르기까지 중요한 PHP 기능 (예 : LDAP_CONNECT, LDAP_BIND, LDAP_SEARCH 등) 및 사용 방법을 다루는 전체 프로세스를 소개합니다.

팁 : 보안을 향상 시키려면 LDAP 연결 및 인증에 암호화 방법 (예 : LDAP 또는 STARTTLS)을 사용하는 것이 좋습니다.