ホームページ  >  記事  >  バックエンド開発  >  PHP と LDAP を使用してユーザー グループの管理と認可を実装する方法

PHP と LDAP を使用してユーザー グループの管理と認可を実装する方法

WBOY
WBOYオリジナル
2023-06-25 08:22:502041ブラウズ

企業規模とビジネス ニーズの継続的な拡大に伴い、ユーザー グループの管理と承認は重要な部分になっています。 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"; //LDAP サーバーの 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 コードを使用してユーザーからユーザーを削除しますgroups:

$ 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=person)";
$result = ldap_search($ldapconn, $groupdn, $filter);
$entries = ldap_get_entries($ldapconn, $result) ;
for($i = 0 ; $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);

4. 概要

この記事では、PHP とLDAP は、LDAP サーバーへの接続、ユーザー グループの作成、ユーザー グループへのユーザーの追加、ユーザー グループからのユーザーの削除、ユーザー グループのメンバーのクエリ、ユーザー グループの認可、およびユーザー グループの認可の取り消しなどの操作を含む、ユーザー グループの管理と認可を実装します。 LDAP は、企業ネットワークで広く使用されているディレクトリ サービス プロトコルであり、ユーザー グループの管理と認可を実装する効率的な方法を提供します。

以上がPHP と LDAP を使用してユーザー グループの管理と認可を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。