라이브러리

[PHP] ldap_add - LDAP 디렉토리에 항목 추가




LDAP (Lightweight Directory Access Protocol)

LDAP는 디렉토리 정보를 관리하기 위한 프로토콜입니다. LDAP는 디렉토리 서버에 저장된 사용자 정보를 검색, 추가, 수정, 삭제하는 데 사용됩니다. PHP에서 LDAP를 사용하려면 `ldap` 확장 모듈이 설치되어 있어야 합니다.

LDAP 연동하기

PHP에서 LDAP를 연동하려면 `ldap_connect` 함수를 사용하여 디렉토리 서버에 연결합니다. 디렉토리 서버의 호스트 이름, 포트 번호, 사용자 이름, 암호를 지정합니다.

#hostingforum.kr
php

$ldap_host = 'ldap.example.com';

$ldap_port = 389;

$ldap_username = 'cn=admin,dc=example,dc=com';

$ldap_password = 'password';



$ldap_conn = ldap_connect($ldap_host, $ldap_port);

if (!$ldap_conn) {

    echo 'LDAP 연결 실패';

    exit;

}



ldap_set_option($ldap_conn, LDAP_OPT_PROTOCOL_VERSION, 3);

ldap_set_option($ldap_conn, LDAP_OPT_REFERRALS, 0);



if (!ldap_bind($ldap_conn, $ldap_username, $ldap_password)) {

    echo 'LDAP 인증 실패';

    exit;

}



LDAP 추가하기

`ldap_add` 함수를 사용하여 디렉토리 서버에 새로운 사용자 정보를 추가할 수 있습니다. 사용자 정보는 `ldap_add` 함수의 두 번째 인수로 전달됩니다. 사용자 정보는 `dn` (distinguished name), `attributes` (속성)으로 구성됩니다.

#hostingforum.kr
php

$dn = 'cn=newuser,dc=example,dc=com';

$attributes = array(

    'objectClass' => 'person',

    'cn' => 'newuser',

    'sn' => 'newuser',

    'mail' => 'newuser@example.com'

);



if (!ldap_add($ldap_conn, $dn, $attributes)) {

    echo 'LDAP 추가 실패';

    exit;

}



echo 'LDAP 추가 성공';



LDAP 수정하기

`ldap_mod_add` 함수를 사용하여 디렉토리 서버에 이미 존재하는 사용자 정보를 수정할 수 있습니다. 사용자 정보는 `ldap_mod_add` 함수의 두 번째 인수로 전달됩니다.

#hostingforum.kr
php

$dn = 'cn=newuser,dc=example,dc=com';

$attributes = array(

    'mail' => 'newuser2@example.com'

);



if (!ldap_mod_add($ldap_conn, $dn, $attributes)) {

    echo 'LDAP 수정 실패';

    exit;

}



echo 'LDAP 수정 성공';



LDAP 삭제하기

`ldap_delete` 함수를 사용하여 디렉토리 서버에 이미 존재하는 사용자 정보를 삭제할 수 있습니다.

#hostingforum.kr
php

$dn = 'cn=newuser,dc=example,dc=com';



if (!ldap_delete($ldap_conn, $dn)) {

    echo 'LDAP 삭제 실패';

    exit;

}



echo 'LDAP 삭제 성공';



LDAP 연결 해제하기

`ldap_close` 함수를 사용하여 디렉토리 서버와의 연결을 해제할 수 있습니다.

#hostingforum.kr
php

ldap_close($ldap_conn);



이러한 예제를 통해 PHP에서 LDAP를 사용하여 디렉토리 서버에 사용자 정보를 추가, 수정, 삭제하는 방법을 이해할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 433 페이지

검색

게시물 검색