기업 규모와 비즈니스 요구가 지속적으로 확장됨에 따라 사용자 그룹 관리 및 권한 부여가 필수적인 부분이 되었습니다. 기업 네트워크에서 널리 사용되는 디렉토리 서비스 프로토콜인 LDAP(Lightweight Directory Access Protocol)는 사용자 그룹 관리 및 인증을 구현하는 효율적인 방법을 제공합니다. 이 기사에서는 PHP와 LDAP를 사용하여 사용자 그룹 관리 및 인증을 구현하는 방법을 소개합니다.
1. LDAP란
LDAP는 기업 네트워크에서 디렉터리 서비스 프로토콜로 널리 사용되는 경량 디렉터리 액세스 프로토콜입니다. LDAP는 클라이언트/서버 모델을 기반으로 하며 표준 프로토콜을 통해 디렉터리의 정보에 대한 읽기 및 쓰기 액세스를 제공합니다.
LDAP의 데이터 구조는 트리 구조로 구성됩니다. 트리의 루트 노드는 최상위 DNS 도메인 이름(예: com, net 등)이고, 다음 수준은 조직 단위(OU)입니다. 다음 수준은 사용자 개체(리프 노드)입니다.
2. PHP 및 LDAP
PHP는 LDAP를 지원하며, PHP를 사용하여 LDAP 디렉토리 서비스를 쉽게 운영할 수 있습니다. PHP는 LDAP 서버 연결, 인증 수행, LDAP 디렉토리 정보 검색 및 수정에 사용되는 ldap_connect(), ldap_bind(), ldap_search(), ldap_add(), ldap_delete() 등과 같은 몇 가지 기본 기능을 제공합니다. 및 기타 작업.
3. 사용자 그룹 관리 및 인증 구현
1. LDAP 서버에 연결
php 코드를 사용하여 LDAP 서버에 연결:
$ldapserver = "ldap://127.0.0.1"; IP 주소
$ldapport = 389; //LDAP 서버 포트 번호
$ldapbinddn = "cn=admin,dc=my-domain,dc=com" //LDAP 관리자 계정
$ldappass = "123456" //LDAP 관리자 비밀번호
$ldapconn = ldap_connect($ldapserver, $ldapport);
if($ldapconn){
$ldapbind = ldap_bind($ldapconn, $ldapbinddn, $ldappass); if(!$ldapbind){ echo "LDAP连接失败!"; }
}
2. 사용자 그룹 만들기
php 코드를 사용하여 사용자 그룹 만들기:
$newgroup = array();
$newgroup['cn'] = "developers"; //그룹 이름
$newgroup['gidNumber'] = "1000"; //그룹 ID
$newgroup'objectclass' = "top";
$newgroup'objectclass' = "posixGroup"; //그룹 유형은 posixGroup
ldap_add($ldapconn, "cn=developers,ou=groups,dc=my-domain,dc=com", $newgroup); 3. 사용자 그룹에 사용자 추가
PHP 코드를 사용하여 사용자 그룹에 사용자 추가:
$userdn = "uid=john,ou=people,dc=my-domain,dc=com" //사용자 DN
$ groupdn = "cn=developers,ou =groups,dc=my-domain,dc=com"; //그룹 DN$modify['member'] = $userdn;
ldap_modify($ldapconn, $groupdn, $modify) ;
4. 사용자 그룹에서 사용자 삭제
php 코드를 사용하여 사용자 그룹에서 사용자 삭제:
$userdn = "uid=john,ou=people,dc=my-domain,dc=com"; DN
$groupdn = "cn=developers,ou=groups,dc=my-domain,dc=com"; //그룹 DN$modify['member'] = $userdn;
ldap_modify($ldapconn, $groupdn, $modify);
5. 사용자 그룹 구성원 쿼리
PHP 코드를 사용하여 사용자 그룹 구성원을 쿼리합니다.
$groupdn = "cn=developers,ou=groups,dc=my-domain,dc=com"; 그룹 DN
$filter = "(objectclass= 사람)";$result = ldap_search($ldapconn, $groupdn, $filter);
$entries = ldap_get_entries($ldapconn, $result);
for($i = 0 ; $i < $entries['count ']; $i++){
echo $entries[$i]['dn'];
6. 사용자 그룹 인증
PHP 코드를 사용하여 사용자 그룹 인증:
$groupdn = "cn=developers,ou =groups,dc=my-domain,dc =com"; //그룹 DN
$attrs['uniquemember'] = array(); //승인된 사용자 DN array$attrs['uniquemember'][] = "uid =john,ou=people,dc=my -domain,dc=com";
$attrs['uniquemember'][] = "uid=smith,ou=people,dc=my-domain,dc=com";
ldap_mod_add($ldapconn, $groupdn, $attrs );
7. 사용자 그룹 인증 취소
PHP 코드를 사용하여 사용자 그룹 인증 취소:
$groupdn = "cn=developers,ou=groups,dc=my-domain ,dc=com"; //그룹 DN
$attrs['uniquemember'] = array(); //인증된 사용자 DN 취소 array$attrs['uniquemember'][] = "uid=john,ou=people, dc=my-domain,dc=com ";
ldap_mod_del($ldapconn, $groupdn, $attrs);
IV. 요약
이 글에서는 PHP와 LDAP를 사용하여 연결을 포함한 사용자 그룹 관리 및 권한 부여를 구현하는 방법을 소개합니다. LDAP 서버에, 사용자 그룹 생성, 사용자 그룹에 사용자 추가, 사용자 그룹에서 사용자 삭제, 사용자 그룹 구성원 조회, 사용자 그룹 인증 및 사용자 그룹 인증 취소. 엔터프라이즈 네트워크에서 널리 사용되는 디렉터리 서비스 프로토콜인 LDAP는 사용자 그룹을 관리하고 권한을 부여하는 효율적인 방법을 제공합니다.
위 내용은 PHP 및 LDAP를 사용하여 사용자 그룹 관리 및 인증을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!