PHPからActive DirectoryへLDAPで接続する
PHPからActive Directoryへ接続するときのメモ。
LDAP関数を利用して接続する(LDAP認証)
PHPからActive Directoryへ接続する場合LDAP関数を利用して接続します。
ldap_connect関数は指定されたホスト名やポートの妥当性をチェックしパラメータの初期化を行ないます。
ldap_bind関数により実際に接続されます。
$host = 'ldap://192.168.0.1'; $port = 3268; $rdn = 'CN=test,CN=Users,DC=example,DC=local'; $pass = 'password'; $cnn = ldap_connect($host, $port); if ($cnn) { $bind = ldap_bind($cnn, $rdn, $pass); if ($bind) { // バインド成功 } else { // バインド失敗 } }
ユーザー名でエントリを取得する
ベースDN内のtestというユーザのmemberof属性を取得します。 属性を指定しない場合、全ての属性と値を取得するため効率が悪くなります。
(省略) $user_name = 'test'; $base_dn = 'CN=Users,DC=example,DC=local'; $filter = "(sAMAccountName=$user_name)"; $attributes = array('memberof'); $search = ldap_search($cnn, $base_dn, $filter, $attributes); $entries = ldap_get_entries($cnn, $search);